sample condicional

Bom dia, Alguém conhece uma maneira de viesar a função sample? Talvez a palavra correta seria 'condicionar' as amostras seguintes com base nas amostras anteriores. Eu gostaria de gerar varias distribuições categoricas mas não quero que o mesmo nível do fator se repita na linha. set.seed(51) data <- data.frame( id=as.factor(1:100), a=as.factor(sample(1:10, size=100, replace=TRUE)), b=as.factor(sample(1:10, size=100, replace=TRUE)), c=as.factor(sample(1:10, size=100, replace=TRUE)), d=as.factor(sample(1:10, size=100, replace=TRUE)), e=as.factor(sample(1:10, size=100, replace=TRUE)) ) -- "Small steps toward a much better world" Daniel Marcelino Land Phone 1+514 343 6111 #3799 3200 Jean Brillant, Office C5071 Montreal, QC; H3T 1N8 Canada

Daniel, Veja se é isto (deve haver forma mais curta, mas...) data<-data.frame() for(i in 1:100){ data<-rbind(data, sample(1:10,5,replace =F)) } data[,1]<-as.factor(data[,1]) data[,2]<-as.factor(data[,2]) data[,3]<-as.factor(data[,3]) data[,4]<-as.factor(data[,4]) data[,5]<-as.factor(data[,5]) id<-as.factor(1:100) data<-cbind(id, data) data Abraço, Adriano S. Melo Em 10 de novembro de 2012 13:16, Daniel Marcelino <dmsilva.br@gmail.com>escreveu:
Bom dia, Alguém conhece uma maneira de viesar a função sample? Talvez a palavra correta seria 'condicionar' as amostras seguintes com base nas amostras anteriores. Eu gostaria de gerar varias distribuições categoricas mas não quero que o mesmo nível do fator se repita na linha.
set.seed(51) data <- data.frame( id=as.factor(1:100), a=as.factor(sample(1:10, size=100, replace=TRUE)), b=as.factor(sample(1:10, size=100, replace=TRUE)), c=as.factor(sample(1:10, size=100, replace=TRUE)), d=as.factor(sample(1:10, size=100, replace=TRUE)), e=as.factor(sample(1:10, size=100, replace=TRUE)) )
-- "Small steps toward a much better world"
Daniel Marcelino Land Phone 1+514 343 6111 #3799 3200 Jean Brillant, Office C5071 Montreal, QC; H3T 1N8 Canada _______________________________________________ R-br mailing list R-br@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.

Sua abordagem também resolve. A forma mais curta que eu consegui é essa: set.seed(51) Data <- sapply(1:100, function(x) sample(1:10, size=5)) Data <- data.frame(t(Data)) names(Data) <- letters[1:5] Daniel 2012/11/11 Adriano S. Melo <asm.adrimelo@gmail.com>:
Daniel, Veja se é isto (deve haver forma mais curta, mas...) data<-data.frame() for(i in 1:100){ data<-rbind(data, sample(1:10,5,replace =F)) } data[,1]<-as.factor(data[,1]) data[,2]<-as.factor(data[,2]) data[,3]<-as.factor(data[,3]) data[,4]<-as.factor(data[,4]) data[,5]<-as.factor(data[,5]) id<-as.factor(1:100) data<-cbind(id, data) data
Abraço, Adriano S. Melo
Em 10 de novembro de 2012 13:16, Daniel Marcelino <dmsilva.br@gmail.com> escreveu:
Bom dia, Alguém conhece uma maneira de viesar a função sample? Talvez a palavra correta seria 'condicionar' as amostras seguintes com base nas amostras anteriores. Eu gostaria de gerar varias distribuições categoricas mas não quero que o mesmo nível do fator se repita na linha.
set.seed(51) data <- data.frame( id=as.factor(1:100), a=as.factor(sample(1:10, size=100, replace=TRUE)), b=as.factor(sample(1:10, size=100, replace=TRUE)), c=as.factor(sample(1:10, size=100, replace=TRUE)), d=as.factor(sample(1:10, size=100, replace=TRUE)), e=as.factor(sample(1:10, size=100, replace=TRUE)) )
-- "Small steps toward a much better world"
Daniel Marcelino Land Phone 1+514 343 6111 #3799 3200 Jean Brillant, Office C5071 Montreal, QC; H3T 1N8 Canada _______________________________________________ R-br mailing list R-br@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 list R-br@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.
-- "Small steps toward a much better world" \begin{signature} Daniel Marcelino Land Phone 1+514 343 6111 #3799 3200 Jean Brillant, Office C5071 Montreal, QC; H3T 1N8 Canada \end{signature}
participantes (2)
-
Adriano S. Melo
-
Daniel Marcelino