[R-br] Função usando sample

ASANTOS alexandresantosbr em yahoo.com.br
Terça Maio 20 15:08:05 BRT 2014


Obrigado Robert e Benilton,


               Mas na verdade ainda não resolveu, vou tentar explicar de 
outro modo, tenho 15 áreas hipotéticas (str (dados$ab)), sendo:



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$medida1<-rnorm(nrow(dados),300)
dados$medida2<-rnorm(nrow(dados),300)
dados$medida3<-rnorm(nrow(dados),300)
dados$ab<- interaction(dados$proj.talhao, dados$n.talhao)
head(dados)
##


  Porém para uma mesma variável resposta tenho vetores de tamanhos 
diferentes e quero compará-los, gostaria de sortear ao acaso um mesmo 
número de dados das 15 áreas (por exemplo 40 dados) para fazer as 
análises e não ter problemas com desbalanceamento, para tanto preciso de 
uma função do tipo a cada modificação em dados$ab realizar a função 
sample (nomesdasáreas, 40),


Obrigado



Em 20/05/2014 11:02, Robert Iquiapaza escreveu:
> Será disso que vc precisa?
> ##
> str(dados$ab)
> dados$nobs=1:length(dados$ab) #só pra conferir
> nopar=table(dados$ab)
> nopar=nopar[nopar!=0]
> nopara=cumsum(nopar)
> seqs=sort(sample(1:nopara[1],20)) #i=4
> for(i in 2:length(nopara))seqs=c(seqs,sort(sample((nopara[i-1]+1):nopara[i],20)))
> seqs
> length(seqs)
> dados[seqs,]
>
> ###
> Sds
> Robert
>
>
> Em 20 de maio de 2014 11:23, ASANTOS <alexandresantosbr em yahoo.com.br> escreveu:
>> Boa tarde Pessoal,
>>
>>        Ainda não consegui solucionar meu problema usando uma função com
>> sample:
>>
>> Tenho os seguintes dados artificiais:
>>
>> #
>> set.seed(765)
>>
>> 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$medida1<-rnorm(nrow(dados),300)
>> dados$medida2<-rnorm(nrow(dados),300)
>> dados$medida3<-rnorm(nrow(dados),300)
>> dados$ab<- interaction(dados$proj.talhao, dados$n.talhao)
>> head(dados)
>> ##
>>
>>
>> E gostaria que a cada alteração em cada área umas das 5 áreas do objeto
>> dados$ab fossem amostradas 20 linhas e o resultado fosse armazenado como:
>>
>> proj.talhao n.talhao  medida1  medida2  medida3          ab
>> 1     corrego      144 299.8956 300.5377 300.7281 corrego.144
>> 2     corrego      144 300.7179 298.9645 301.9793 corrego.144
>> 3     corrego      144 300.5074 302.8484 298.4562 corrego.144
>>
>> Onde tenho somente as linhas sorteadas com todos os identificadores
>> originais,
>>
>> 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
>> =====================================================================

-- 
======================================================================
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
======================================================================



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