【发布时间】:2017-08-11 08:25:24
【问题描述】:
我有一个带有特定列名的矩阵或数据框。使用包含一些列名的向量,我可以轻松地处理矩阵的这些列。但是还有一种简单的方法来解决向量中未列出的相反列:
mat <- matrix(c(1:12), ncol=4)
colnames(mat) <- c("a", "b", "c", "d")
not_target_col <- c("a", "b")
在这种情况下,我喜欢列 c 和 d。
我搜索这样的东西,没有做额外的步骤:
pos <- colnames(mat) != not_target_col
mat[,pos]
补充说明
我想更清楚一点:当我有一个数字向量时,当我添加 *-1 时,我可以得到相反的结果
not_target_col <- c(1,2)
mat[,not_target_col * -1]
当我使用逻辑向量时,也有类似的技术。这里我只需要添加一个!。
not_target_col <- c(T,T,F,F)
mat[,!not_target_col]
【问题讨论】:
-
@akrun,我现在要做什么?
-
你无能为力。有人会欺骗它标记它
-
我在下面添加了另一个解决方案
标签: r