如何为mean
的{{1}}参数提供向量?
rnorm
我想做around_int1_mean <- seq(1.5, 3.5, 0.1)
之类的事情,避免rnorm(n=25, mean=around_int1_mean, sd=0.2)
- 循环。
我希望得到for
个样本集length(around_int1_mean)
,其中均值(在第一个集合中)为1.5,然后是1.6,依此类推,直到最后一个集合的平均值为3.5。所以最后我得到了21套大小为25的样本。
答案 0 :(得分:5)
我希望得到
length(around_int1_mean)
个样本集n=25
,其中均值(在第一个集合中)为1.5,然后是1.6,依此类推,直到最后一个集合的平均值为3.5。所以最后我得到了21套大小为25的样本。
你需要
rnorm(n = length(around_int1_mean) * 25,
mean = rep(around_int1_mean, each = 25), sd = 0.2)
mean
中的sd
和rnorm
参数是矢量化的。它们首先会被回收,长度为n
。然后,对于i = 1, 2, ..., n
,i-th
样本来自N(mean[i], sd[i])
。
另一个例子是,如果你想要每个均值的单个样本,请执行:
rnorm(n = length(around_int1_mean), mean = around_int1_mean, sd = 0.2)
由于@TMOTTM坚持认为我错了并且拒绝了我的答案,我必须出示证据来为自己辩护。
around_int1_mean <- seq(1.5, 3.5, by = 0.1)
我会设置sd = 0
来消除随机性,因此随机样本只需要mean
值,概率为1.这使我们能够证明rnorm
正在生成正确的样本集纠正mean
。
x <- rnorm(n = length(around_int1_mean) * 25,
mean = rep(around_int1_mean, each = 25), sd = 0)
另外,我会使用矩阵来演示它:
matrix(x, nrow = 25)
# [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13]
# [1,] 1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7
# [2,] 1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7
# [3,] 1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7
# [4,] 1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7
# [5,] 1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7
# [6,] 1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7
# [7,] 1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7
# [8,] 1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7
# [9,] 1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7
# [,14] [,15] [,16] [,17] [,18] [,19] [,20] [,21]
# [1,] 2.8 2.9 3 3.1 3.2 3.3 3.4 3.5
# [2,] 2.8 2.9 3 3.1 3.2 3.3 3.4 3.5
# [3,] 2.8 2.9 3 3.1 3.2 3.3 3.4 3.5
# [4,] 2.8 2.9 3 3.1 3.2 3.3 3.4 3.5
# [5,] 2.8 2.9 3 3.1 3.2 3.3 3.4 3.5
# [6,] 2.8 2.9 3 3.1 3.2 3.3 3.4 3.5
# [7,] 2.8 2.9 3 3.1 3.2 3.3 3.4 3.5
# [8,] 2.8 2.9 3 3.1 3.2 3.3 3.4 3.5
# [9,] 2.8 2.9 3 3.1 3.2 3.3 3.4 3.5
# [ reached getOption("max.print") -- omitted 16 rows ]
显然我的回答是正确的。每列有25个样本具有相同的平均值。