将值分配给向量中的行

时间:2012-07-11 00:49:43

标签: r

我有一个相对简单的问题,我的同事和我无法弄清楚。我有一个值向量,我想将其粘贴到某个列范围内的数据集中所有行。

如果我逐行分配值,则以下代码有效:

data[1, 1:10] <- myvector
data[2, 1:10] <- myvector

如果我尝试在总行数上分配值,则相同的代码无法正常工作:

data[1:nrows(data), 1:10] <-myvector

向量中的值似乎是垂直填充,而不是水平填充。我们提出的最好的解决方法是,由于我的数据中有20,000行,因此不太理想。

for (i in 1:nrow(data)){
     data[i, 1:10] <-myvector
}

对于什么是错误,必须有一些简单的解释。请帮忙!

1 个答案:

答案 0 :(得分:7)

将矢量分配给矩阵,就像你观察到的一样,将它们垂直填充。但是你可以通过分配适当的向量来解决这个问题:

 data[, 1:10] = rep(myvector, each=NROW(data))