Ops, é sortear plantas dentro de ponto, nao ponto dentro de plantas. Troca o dados[,2] por dados[,1]
do.call(rbind, by(dados, dados[,1], function(x, ...) x[sample(1:nrow(x), ...), ], size=1)) 2013/5/23 Rodrigo Coster <[email protected]> > Da para fazer com do.call() e by(): > > do.call(rbind, by(dados, dados[,2], function(x, ...) x[sample(1:nrow(x), > ...), ], size=1)) > > Depois é só ir mudando o parametro size para outros tamanhos... e se > quiser amostragem com reposição, adicionar o replace=TRUE depois do size. > > > 2013/5/23 Hélio Gallo Rocha <[email protected]> > >> Caros da Lista >> >> Com os dados hipotéticos abaixo: >> >> ponto=c(rep(3001,6),rep(3002,6),rep(3003,6)) >> planta=c(rep(seq(1:6),3)) >> valor=seq(1.5,10,.5) >> dados=cbind(ponto,planta,valor);dados >> >> ponto planta valor >> [1,] 3001 1 1.5 >> [2,] 3001 2 2.0 >> [3,] 3001 3 2.5 >> [4,] 3001 4 3.0 >> [5,] 3001 5 3.5 >> [6,] 3001 6 4.0 >> [7,] 3002 1 4.5 >> [8,] 3002 2 5.0 >> [9,] 3002 3 5.5 >> [10,] 3002 4 6.0 >> [11,] 3002 5 6.5 >> [12,] 3002 6 7.0 >> [13,] 3003 1 7.5 >> [14,] 3003 2 8.0 >> [15,] 3003 3 8.5 >> [16,] 3003 4 9.0 >> [17,] 3003 5 9.5 >> [18,] 3003 6 10.0 >> >> então temos 3 pontos ( 3001, 3002, 3003) >> seis plantas em cada ponto ( 1,2,3,4,5,,6) >> >> Já tentei usar sample, mas sorteia aleatoriamente >> >> Preciso que seja sorteada uma planta de cada ponto, depois vou sortear >> duas plantas de cada ponto, e assim sucessivamente >> >> Agradeço desde já >> >> >> -- >> Hélio Gallo Rocha >> IFSULDEMINAS - Câmpus Muzambinho >> >> _______________________________________________ >> R-br mailing list >> [email protected] >> 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 list [email protected] 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.
