[R-br] Função usando sample com condição

Éder Comunello comunello.eder em gmail.com
Sábado Maio 10 09:28:05 BRT 2014


Senhores, bom dia!

Alexandre, você falou em 6 áreas, mas seu código está definido 5. Sugiro
verificar acrescentando as linhas que seguem ao seu código:
areas <- as.vector(unique(dados$ab)); areas
table(dados$proj.talhao, dados$n.talhao)

Tendo verificado, adicione também as linhas que seguem e veja se produz o
resultado desejado.
{set.seed(765); dados$medidas<-rnorm(nrow(dados),300)}
sapply(areas, function(x) sample(dados[as.character(dados$ab)==x,3],20))

Atte.,

Éder Comunello <c <comunello.eder em gmail.com>omunello.eder em gmail.com>
Dourados, MS - [22 16.5'S, 54 49'W]


Em 9 de maio de 2014 20:15, ASANTOS <alexandresantosbr em yahoo.com.br>escreveu:

>  Pessoal,
>
>        Comecei a evoluir um pouco, mas a programação em R tem sido a
> limitação, segue CRM:
>
>
> proj.talhao<-sort(rep(c("tamandua","itapagi","corrego"),100))
> n.talhao<-sort(rep(c("144","256","356","144","301","180"),50))
> dados<-as.data.frame(cbind(proj.talhao,n.talhao))
> dados$medidas<-rnorm(nrow(dados),300)
> head(dados)
>
> dados$ab<- interaction(dados$proj.talhao, dados$n.talhao)## Fiz a
> interação dos objetos pois existe dois  proj.talhao cada um com numeração
> diferente n.talhao (totalizando 6 áreas
> diferentes)
>
> dados$num<-as.numeric(dados$ab)## Atribui uma numeração a cada área
> diferente
>
> head(dados)
>
> RES<-NULL
>
> for (i in 1:length(dados$num)){ ## E é aqui que esta pegando, como fazer
> para que a mostragem seja a cada mudança de número (ou área)
>
>     samp <- sample(dados[,3], replace=F)
>     RES <- rbind(RES, c(dados$ab,samp))
>
> }
>
>
>
> Obrigado,
>
> Alexandre
>
> Em 09/05/2014 19:28, ASANTOS escreveu:
>
> Ricardo não é bem isso, seria
>
> sample(row.names(dados), 20) a cada mudança de n.talhao (se fosse númerico
> ate tenho algumas idéias) no código:
>
>
> proj.talhao<-sort(rep(c("tamandua","itapagi","corrego"),100))
> n.talhao<-sort(rep(c("144","256","356","144","301","180"),50))
> dados<-as.data.frame(cbind(proj.talhao,n.talhao))
> dados$medidas<-rnorm(nrow(dados),300)
> head(dados)
>
>
> Em 09/05/2014 17:49, Ricardo Solar escreveu:
>
> Olá, não sei se entendi bem o que quer, mas você pode mandar ele fazer o
> sample de row.names
>
>  > use_talhao <- sample(row.names(dados), 20)
> > dados2 <- dados[use_talhao,]
>
> para fazer isso por talhão, se esse for o caso, use um for, ou algo do
> tipo.
>
> Abs
>
>  ==========================================
> Dr. Ricardo Ribeiro de Castro Solar (Curriculum Vitoe<http://lattes.cnpq.br/9924177207371692>
> )
> Pesquisador Associado (PNPD - Capes)
> Programa de Pós-Graduação em Ciências Biológicas
>  Visit my blog! <http://photographyandconservation.wordpress.com/> / Rede
> Amazônia Sustentável <http://www.redeamazoniasustentavel.org>
> Skype: rrsolar
> Universidade Estadual de Montes Claros - MG
>  ==========================================
>
>
> 2014-05-09 18:37 GMT-03:00 ASANTOS <alexandresantosbr em yahoo.com.br>:
>
>> Boa noite listeiros,
>>
>>
>> Criei o seguinte data frame:
>>
>> proj.talhao<-sort(rep(c("tamandua","itapagi","corrego"),100))
>> n.talhao<-sort(rep(c("144","256","356","144","301","180"),50))
>> dados<-as.data.frame(cbind(proj.talhao,n.talhao))
>> dados$medidas<-rnorm(nrow(dados),300)
>> head(dados)
>>
>>
>>     Agora gostaria de solicitar a função sample() para 20 valores sem
>> reposição a cada alteração de n.talhao em cada proj.talhao, que são
>> caracteres, então neste caso o que eu poderia utilizar?
>>
>>
>> Obrigado
>>
>> --
>> ======================================================================
>> Alexandre dos Santos
>> Proteção Florestal
>> IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
>> Campus Cáceres
>> Caixa Postal 244
>> Avenida dos Ramires, s/n
>> Bairro: Distrito Industrial
>> Cáceres - MT                      CEP: 78.200-000
>> Fone: (+55) 65 8132-8112 (TIM)   (+55) 65 9686-6970 (VIVO)
>> e-mails:alexandresantosbr em yahoo.com.br
>>         alexandre.santos em cas.ifmt.edu.br
>> Lattes: http://lattes.cnpq.br/1360403201088680
>> ======================================================================
>>
>> _______________________________________________
>> R-br mailing list
>> R-br em listas.c3sl.ufpr.br
>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>> código mínimo reproduzível.
>>
>
>
>
> _______________________________________________
> R-br mailing listR-br em listas.c3sl.ufpr.brhttps://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
>
>
> --
> ======================================================================
> Alexandre dos Santos
> Proteção Florestal
> IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
> Campus Cáceres
> Caixa Postal 244
> Avenida dos Ramires, s/n
> Bairro: Distrito Industrial
> Cáceres - MT                      CEP: 78.200-000
> Fone: (+55) 65 8132-8112 (TIM)   (+55) 65 9686-6970 (VIVO)e-mails:alexandresantosbr em yahoo.com.br
>         alexandre.santos em cas.ifmt.edu.br
> Lattes: http://lattes.cnpq.br/1360403201088680
> ======================================================================
>
>
>
> _______________________________________________
> R-br mailing listR-br em listas.c3sl.ufpr.brhttps://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
>
>
> --
> ======================================================================
> Alexandre dos Santos
> Proteção Florestal
> IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
> Campus Cáceres
> Caixa Postal 244
> Avenida dos Ramires, s/n
> Bairro: Distrito Industrial
> Cáceres - MT                      CEP: 78.200-000
> Fone: (+55) 65 8132-8112 (TIM)   (+55) 65 9686-6970 (VIVO)e-mails:alexandresantosbr em yahoo.com.br
>         alexandre.santos em cas.ifmt.edu.br
> Lattes: http://lattes.cnpq.br/1360403201088680
> ======================================================================
>
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140510/4219c2cf/attachment.html>


Mais detalhes sobre a lista de discussão R-br