我想从我的小标题中选择以字母 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 来反转它们,所以最好有一个整洁的解决方案。
谢谢!