
Nâo consegui rodar, veja o que aconteceu:
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))) Error: unexpected ')' in "2:length(nopara))" 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 Error in Ops.data.frame(res2o, res1) : == only defined for equally-sized data frames
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@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 ====================================================================== --- Este email está limpo de vírus e malwares porque a proteção do avast! Antivírus está ativa. http://www.avast.com