如何为means参数提供向量rnorm?
around_int1_mean <- seq(1.5, 3.5, 0.1)
Run Code Online (Sandbox Code Playgroud)
我想做一些类似的事情rnorm(n=25, mean=around_int1_mean, sd=0.2),避免使用for-loop.
我想得到一length(around_int1_mean)组样本,n=25其中平均值(在第一组中)为1.5,然后是1.6,依此类推,直到最后一组的平均值为3.5.所以最后我会得到21套25码样本.
我想得到一
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)
Run Code Online (Sandbox Code Playgroud)
该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)
Run Code Online (Sandbox Code Playgroud)
由于@TMOTTM坚持认为我错了并且拒绝了我的答案,我必须出示证据来保护自己.
around_int1_mean <- seq(1.5, 3.5, by = 0.1)
Run Code Online (Sandbox Code Playgroud)
我会设置sd = 0消除随机性,因此随机样本只会以mean1的概率取值.这使我们能够证明rnorm生成正确的样本集是正确的mean.
x <- rnorm(n = length(around_int1_mean) * 25,
mean = rep(around_int1_mean, each = 25), sd = 0)
Run Code Online (Sandbox Code Playgroud)
另外,我会使用矩阵来演示它:
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 ]
Run Code Online (Sandbox Code Playgroud)
显然我的答案是正确的.每列有25个样本,具有相同的平均值.