dplyr:选择除vector中包含的变量之外的所有变量

这应该是一个简单的问题,但我正在努力.

我有一个变量名称向量,我想从数据框中排除:

df <- data.frame(matrix(rexp(50),nrow = 10,ncol = 5))
names(df) <- paste0(rep("variable_",5),1:5)

excluded_vars <- c("variable_1","variable_3")

我原本以为只使用 – 在select语句中排除对象就可以了:

select(df,-excluded_vars)

但是我收到以下错误

Error in -excluded_vars : invalid argument to unary operator

使用select_()时也是如此

有任何想法吗?

解决方法

您需要使用one_of函数

select(df,-one_of(excluded_vars))

有关基于变量名称进行选择的更多信息,请参阅dplyr文档中的select helpers.

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...