从R中的循环填充矩阵中的值

时间:2018-07-31 15:35:28

标签: r

make_samps <- function (x) {   #function accepts length of sample
    samps <- matrix(1000, length(x))
    for (i in samps) a <- rnorm(x, 0, 1)
    samps[i,] = a
    print(samps)
} 

您好,我是R语言的新手,我需要一些有关函数的帮助。

我试图创建一个矩阵(我不确定这是否是正确的格式类型),该矩阵包含1000个长度为x的数据集(应该可以使用该函数进行操作),其平均值为0,标准偏差为1。

所以基本上我想创建一个均值为0和sd = 1的长度为x的数据集,并重复执行1000次并存储结果,以便可以对数据集进行进一步的计算。

从1-1000循环时,我似乎很难将创建的样本存储到我的“样本”矩阵中。

感谢您的帮助,

谢谢

1 个答案:

答案 0 :(得分:0)

您似乎希望每个“数据集”都在矩阵中排成一行。

这可以简单地完成:

matrix(rnorm(1000*x), nrow=x)

构造函数matrix()的第一个参数为矩阵中的每个单元格提供值。您需要一个具有x行和1000列的矩阵,所以是1000*x值,每个值都是使用rnorm从正态分布生成的。通过为第一个参数提供1000*x值来指定行数,R可以告诉您您想要一个1000列的矩阵。请注意,mean=0sd=1rnorm的默认值。