【问题标题】:random number generation in r with different length and then combine在r中生成不同长度的随机数,然后组合
【发布时间】:2020-02-07 06:04:05
【问题描述】:

对于以下数字

n.i=rpois(10,15)
n.i
 [1] 12 19  9 17 20  9 11 18 15 13

我想从大小为1219、...和13 的标准分布生成随机数,然后组合成一列。 我可以单独做,例如,

x1=rnorm(n.i[1])
 x1
 [1] -1.4684359  0.3243679  1.1562347 -1.5978675 -1.3778871  0.6678866 -0.2940829 -1.3842074  0.7557435
[10] -1.5554419 -0.2866167  0.6250479
.
.
.
x10=rnorm(n.i[10])
x10
 [1] -0.69302945 -0.09568832 -1.88538457 -0.26877610 -0.66092837 -0.33671428 -1.28805672 -2.26124749  0.12168687
[10]  0.96683385  0.04307080  0.42701123 -0.92463081

To combine, x=c(x1,x2,...,x10)

我可以使用任何 for 循环或内置函数来解决这个问题吗?任何帮助表示赞赏。

【问题讨论】:

  • 你可以做unlist(lapply(n.i, rnorm))。尽管在这种情况下,从正态 0,1 分布中抽取一堆小数据看起来与从正态分布中抽取一个大数据没有什么不同rnorm(sum(n.i))

标签: r random numbers


【解决方案1】:

prois 中,lambda 参数表示平均值,因此您可以使用调整后的 lambda 从prois 中采样一个值并使用它来生成向量:

rnorm(rpois(1, 15 * 10))

【讨论】:

    猜你喜欢
    • 2020-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-25
    • 2012-05-16
    • 1970-01-01
    • 2012-02-04
    • 2022-11-17
    相关资源
    最近更新 更多