用向量替换矩阵值,一次一列

时间:2013-12-02 19:44:58

标签: r vector matrix subset

使用R,我想创建10个向量(比如说10x1)并将它们的结果连接成一个矩阵(比如10x10)。

我认为首先初始化空矩阵然后用感兴趣的矢量逐列替换它的值可能是计算效率最高的。

这就是我的尝试。

# Initialize empty matrix
empty.m = matrix(nrow = 10, ncol = 10)

#Create vectors and attempt to insert them into matrix
for (i in 1:10) {
    empty.m[, i] = sample(10)
}

我尝试将 sample 的输出插入矩阵 empty.m 不起作用,产生以下错误:

Error in matrix[, 1] = vec : object of type 'closure' is not subsettable

对于我能做些什么来完成我想要的事情,你有什么建议,避免这个错误吗?

1 个答案:

答案 0 :(得分:2)

创建矩阵的更简单方法是replicate

replicate(10, sample(10))

第一个10表示列数。