创建索引为R的向量

时间:2014-03-09 11:35:37

标签: r for-loop vector

我正在尝试在每个向量中创建10个具有10个值的向量,并且值应该具有正态分布。矢量应该是v1,v2,v3 ......

我试过循环但语法:

for(i in 1:10) {
    v[i] <- rnorm(10)
}

没用。我尝试了很多种类,但没有结果,也没有在网上找到任何解决方案。

3 个答案:

答案 0 :(得分:2)

创建大量“松散”向量并不是一个好主意。最好以合适的形式收集它们,例如,在matrixlistdata.frame(一种list)中。然后,您可以通过各种子集技术访问各个元素(请参阅?Extracthere

在您的情况下,您可以尝试例如replicate

m <- replicate(n = 10, expr = rnorm(10))
m

这会产生一个包含n列的矩阵,其中每列都是expr的结果,即rnorm(10)

答案 1 :(得分:1)

R中,没有矢量矢量。您可以使用matrix或异构数据结构(如list)使用2D模拟 有关详细信息,请参阅:http://adv-r.had.co.nz/Data-structures.html

matrix方法是:

matrix(rnorm(100),nrow=10)

list approch将是:

lapply(1 : 10, function (i) rnorm(10))

答案 2 :(得分:0)

矢量通常不能嵌套(即你不能有矢量矢量)。 R有一个特殊形式 - list

v = lapply(1 : 10, function (i) rnorm(10))

通常,您希望将其表示为data.frame,但是:

setNames(data.frame(v), NULL)

setNames用于删除R自动生成的错误列名。)