在重复函数调用中分隔参数

使用值向量,我希望在函数上调用每个值

values = 1:10
rnorm(100, mean=values, sd=1)

mean = values 重复序列 (1,2,3,4,5,6,7,8,9,10)。我怎样才能得到一个矩阵,每个矩阵有 100 个观察值并使用我的向量中的一个元素?IE:

rnorm(100, mean=1, sd=1)
rnorm(100, mean=2, sd=1)
rnorm(100, mean=3, sd=1)
rnorm(100, mean=4, sd=1)
# ...

回答

一个选项lapply来自base R

lapply(1:10, function(i) rnorm(100, mean = i, sd = 1))

从您的问题中不清楚,但我认为您想要一个具有 10 行和 100 列的单个矩阵。在这种情况下,您可以这样做:

matrix(rnorm(1000, rep(1:10, each = 100)), nrow = 10, byrow = TRUE)

或者通过使用sapply而不是修改 akrun 的答案lapply


以上是在重复函数调用中分隔参数的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>