[R-br] Função usando sample [RESOLVIDO]

ASANTOS alexandresantosbr em yahoo.com.br
Terça Maio 20 19:43:47 BRT 2014


Muito obrigado Robert,

       Problema resolvido, segue solução abaixo para registro:

##
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)
##

###

dados$nobs=1:length(dados$ab) #só pra conferir
str(dados$ab)  # na verdade vc não tem 15 níveis, só 5 com casos
dados$abf=factor(dados$ab) # eliminar níveis não usados
nopar=table(dados$abf) # casos por fator
nopara=cumsum(nopar) # acumular casos
tam=40  #amostra
set.seed(765)
seqs=sort(sample(1:nopara[1],tam)) # o sort só ordena
for(i in 
2:length(nopara))seqs=c(seqs,sort(sample((nopara[i-1]+1):nopara[i],tam)))
res1= dados[seqs,]

set.seed(765)
res2 = do.call(rbind, lapply(split(dados, dados$abf), function(x) 
x[sample(nrow(x), tam),]))

res2o=res2[ order(res2$nobs), ]
res2o==res1 #iguais

###
Em 20/05/2014 18:29, Robert Iquiapaza escreveu:
> ##
> 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)
> ##

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