【发布时间】:2015-01-30 17:32:33
【问题描述】:
我有几个二维向量,其中第一列是索引(例如“时间戳”),第二列是值。
在每个 for 循环中,我得到这些向量中的一个,并且我想将它们全部合并到一个大的 2D 矩阵中,其中第一列是索引,而每一列都是与这些原始向量不同的值。
例如:
v1 <- matrix(c(seq(1:10), rnorm(10)), nrow = 10, ncol = 2)
v2 <- matrix(c(1, 2, 3, 6, 7, 8, 9, rnorm(7)), nrow = 7, ncol = 2)
v3 <- matrix(c(11, 12, rnorm(2)), nrow = 2, ncol = 2)
我想要的结果是一个 12x4 矩阵:
第一列是 1:12,第二列是 v1 根据时间戳 1:10 的值,第三列是 v2 仅在位置 1、2、3、6、7、8、9 的值,第四列column 是仅在第 11、12 位的 v3 的值。 在没有可用值的地方将放置 NULL。
请注意,我希望它们都根据它们的时间戳合并。
【问题讨论】:
-
与您的问题无关,但您没有在正确的位置关闭括号以创建 v2 和 v3...
-
另一件事:NULL 不能放在矩阵中。 NULL 表示不能放在数组中的 NULL 对象。您可能想填写 NA。为了说明差异,请尝试代码
c(1, NA, NULL)。