gpt4 book ai didi

regex - 使用 dplyr 从 data.table 中删除列

转载 作者:行者123 更新时间:2023-12-01 12:35:51 25 4
gpt4 key购买 nike

我正在尝试使用 dplyr 包中的 select 函数删除 data.table 中的列,但遇到了当没有列匹配我的搜索模式时出错。

使用标准的 iris 数据集并导入适当的包,

library(dplyr)
library(data.table)
select(data.table(iris), -matches("^Petal"))
# returns a table with three columns: Sepal.Length, Sepal.Width, Species
select(data.table(iris), -matches("^ER[[:digit:]]+$"))
# displays error message:
# Error in data.table::setnames(out, names(vars)) : x has no column names

有什么方法可以删除与给定正则表达式匹配的任何列(如果它们存在),否则保持表不变?

最佳答案

试试这个

 iris[, !grepl("^ER[[:digit:]]+$", names(iris))]

关于regex - 使用 dplyr 从 data.table 中删除列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29927253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com