R:按名称取消选择矩阵或data.frame列

时间:2012-01-05 16:56:20

标签: r matrix unselect

  

可能重复:
  Drop Columns R Data frame

假设一个矩阵有3个命名列“A”,“B”,C“,我可以取消选择”B“和”C“这样的列:

df[, -c(2, 3)]

但是如果我想使用列名怎么办?我怎么能df [,-c(“B”,“C”)]?

1 个答案:

答案 0 :(得分:3)

匹配是你的朋友:

R> DF <- data.frame(A=1:2, B=2:3, C=3:4)
R> DF[, !(colnames(DF) %in% c("B","C")), drop=FALSE]
  A
1 1
2 2
R> 

关键是您需要用于索引的布尔向量(或者数字索引)。所以任何创建布尔值的表达都会这样做。