【发布时间】:2020-03-28 08:13:43
【问题描述】:
我想从多项分布中生成一个大小为 20 的样本,其中包含三个值,例如 1,2 and 3。比如样本可以是这样的sam=(1,2,2,2,2,3,1,1,1,3,3,3,2,1,2,3,...1)
以下代码正在运行,但没有得到预期的结果
> rmultinom(20,3,c(0.4,0.3,0.3))+1
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17] [,18] [,19] [,20]
[1,] 1 1 3 2 2 1 1 2 3 2 3 2 1 2 2 3 1 2 2 2
[2,] 2 1 2 1 3 2 4 2 1 2 2 1 1 2 1 2 3 2 3 3
[3,] 3 4 1 3 1 3 1 2 2 2 1 3 4 2 3 1 2 2 1 1
我并不期待这个矩阵。任何帮助表示赞赏?
【问题讨论】:
-
你能显示预期的输出吗?
-
我刚刚将样本/结果命名为
sam。说,sam=rmultinom(20,3,c(0.4,0.3,0.3))+1 -
预期的输出应该是这样的
1,2,2,2,2,3,1,1,1,3,3,3,2,1,2,3,...1。样本应包含1,2 and 3。 -
您确定要进行多项分布吗?您似乎只是在描述一个随机离散分布。听起来你想要
sample(1:3,20,prob=c(0.4,0.3,0.3), replace=TRUE)
标签: r random numbers multinomial