【发布时间】:2020-01-03 22:39:21
【问题描述】:
我想从 tibble 中选择以字母 R 结尾且不以字符串 ("hc") 开头的列。例如,如果我有一个如下所示的数据框:
name hc_1 hc_2 hc_3r hc_4r lw_1r lw_2 lw_3r lw_4
Joe 1 2 3 2 1 5 2 2
Barb 5 4 3 3 2 3 3 1
为了做我想做的事,我尝试了很多选择,但我很惊讶这个不起作用:
library(tidyverse)
data %>%
select(ends_with("r"), !starts_with("hc"))
当我尝试时,我得到了这个错误:
错误:
!starts_with("hc")必须计算为列位置或名称,而不是逻辑向量
我也尝试过使用 negate() 并得到同样的错误。
library(tidyverse)
data %>%
select(ends_with("r"), negate(starts_with("hc")))
错误:
negate(starts_with("hc"))必须计算为列位置或名称,而不是函数
我想将答案保留在 dplyr select 函数中,因为一旦我选择了变量,我最终会使用 mutate_at 来反转它们,所以最好是一个整洁的解决方案。
谢谢!
【问题讨论】:
标签: r select dplyr startswith negate