如何使用列列表从数据框中删除多列[重复]

Posted

技术标签:

【中文标题】如何使用列列表从数据框中删除多列[重复]【英文标题】:How to remove multiple columns from a dataframe with column list [duplicate] 【发布时间】:2018-12-21 01:16:00 【问题描述】:

我有一个包含列名和数据框的变量列表。当列名与变量列表匹配时,我想从数据框中删除列。

列 -> "a","c" 数据框->

a b c d  
0 0 1 1  
1 1 1 1  

输出->

b d  
0 1  
1 1

请帮我解决一下。

【问题讨论】:

【参考方案1】:

select_ 自 dplyr 0.7 起已弃用。有关详细信息,请参阅 select_ 文档。

我相信新的推荐方法是使用选择辅助动词。

使用 shadow 的例子。这将是: select(dataframe, -one_of(c("a", "b"))

【讨论】:

【参考方案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))

【讨论】:

以上是关于如何使用列列表从数据框中删除多列[重复]的主要内容,如果未能解决你的问题,请参考以下文章

基于具有列表值的多列删除数据框中的重复行[重复]

从熊猫数据框中删除大量列

删除另一个数据框中的行[重复]

如何使用VBA隐藏多列列表框中的列

在python数据框中删除不包含列中特定字符串的多列的重复项

Python Pandas:如何从包含列表中值的数据框中删除所有列?