2017-09-27 3 views
0

Ich möchte einen multinominal verteilten Datenrahmen mit Dummies. Die Wahrscheinlichkeiten sollten auf die Spalten angewendet werden. Ich habe folgenden Code, der ein bisschen peinlich erscheint. Hat jemand eine bessere Idee?rmultinom() - aber transponiert?

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 

Antwort

0

Ein wenig kürzer: und beinhaltet nicht mehrere Nötigungen.

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

oder

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

vergessen Gerade über die 't()' - danke! – jaySf

Verwandte Themen