我有一个带有列名和数据框的变量列表。当列名称与变量列表匹配时,我想从数据框中删除列。
列->“ a”,“ c”
数据框->
a b c d
0 0 1 1
1 1 1 1
输出->
b d
0 1
1 1
请帮助我解决问题。
答案 0 :(得分:2)
更新:Anders Swanson指出,您现在可以将select
用于标准评估。所以下面的工作:
select(dataframe, -columns)
以前的版本
您可以将select_
与'-'一起使用,如下所示:
# create data
columns <- c("a","c")
dataframe <- read.table(text="a b c d
0 0 1 1
1 1 1 1 ", header = TRUE)
# load dplyr package
require(dplyr)
# select columns
select_(dataframe, .dots = paste0("-", columns))
答案 1 :(得分:1)
select_
。有关更多信息,请参见select_
文档。
我相信推荐的新方法是使用选择辅助动词。
使用shadow的示例。这将是:
select(dataframe, -one_of(c("a", "b"))