【发布时间】:2018-01-19 17:18:05
【问题描述】:
笨拙的标题,但让我解释一下其中的内容:
我的初始矩阵如下所示:
kitty <- matrix(
c(1, 2, 4, 0, 0, 0, 0, 0, 0, 3, 1, 2),
nrow=3,
ncol=4)
返回:
X1 X2 X3 X4
1 0 0 3
2 0 0 1
4 0 0 2
我删除所有零列
kitty<- kitty[, colSums(kitty != 0) > 0]
因为我必须对产生的矩阵运行一组特定的计量经济学(这里是完整的随机数字集,重要的是第 2 列和第 3 列不再包含在其中,并且我的方法也不允许我命名列):
kitty2 <- matrix(
c(2, 3, 4, 1, 3, 8),
nrow=3,
ncol=2)
X1 X4
2 1
3 3
4 8
什么是有效的方法(我有数百个这样的矩阵)将列重置回其初始位置,用 NA 或 0 填充缺失的列?
X1 X2 X3 X4
2 NA NA 1
3 NA NA 3
4 NA NA 8
【问题讨论】:
-
kitty不是使用列名创建的。您是否在示例代码中跳过了哪些步骤? -
我只是使用列名让读者清楚地知道保留了哪些列。在我的代码中,不允许使用列名。
标签: r matrix data-management