2017-09-27 3 views
0

Je veux une trame de données distribuée multinominal avec des nuls. Les probabilités devraient être appliquées aux colonnes. J'ai le code suivant qui me semble un peu gênant. Quelqu'un a-t-il une meilleure idée?rmultinom() - mais transposé?

set.seed(1234) 
data.table::transpose(data.frame(rmultinom(10, 1, c(1:5)/5))) 

# V1 V2 V3 V4 V5 
# 1 0 0 0 1 0 
# 2 0 0 0 0 1 
# 3 0 0 0 0 1 
# 4 0 1 0 0 0 
# 5 0 0 0 0 1 
# 6 0 0 0 0 1 
# 7 0 0 0 1 0 
# 8 0 1 0 0 0 
# 9 0 0 0 0 1 
# 10 0 0 0 1 0 

Répondre

0

Un peu plus court: et n'implique pas de coercitions multiples.

data.frame(t(rmultinom(10, 1, c(1:5)/5))) 

ou

library(data.table) 
data.table(t(rmultinom(10, 1, c(1:5)/5))) 
+1

Juste oublièrent le 't()' - merci! – jaySf