我熟悉能够从 R 数据框(或矩阵)中提取列,如下所示:
df.2 <- df[, c("name1", "name2", "name3")]
但是可以使用一种!
或其他工具来选择除列出的列之外的所有列吗?
作为背景,我有一个包含很多列向量的数据框,我想避免:
- 当我可以删除少数人时,输入大多数人的名字
- 使用更短的
df.2 <- df[, c(1,3,5)]
,因为当我的 .csv 文件更改时,我的代码会因为编号不再相同而变得糟糕。我是 R 新手,我认为我已经学会了不使用数字向量来处理可能会改变的较大 df 的艰难方法。
我试过了:
df.2 <- df[, !c("name1", "name2", "name3")]
df.2 <- df[, !=c("name1", "name2", "name3")]
就在我输入这个的时候,发现这行得通:
df.2 <- df[, !names(df) %in% c("name1", "name2", "name3")]
有没有比这最后一个更好的方法?