rmultinom() – 但转置?

rmultinom() – but transposed?

我想要一个带有假人的多项式分布式数据框。概率应应用于列。我有以下代码,看起来有点尴尬。有人有更好的主意吗?

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

短一点:并且不涉及多重强制转换。

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

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