通过 dplyr 删除 sequence/range 中的列

dropping columns in sequence/range via dplyr

我有一个包含“131”列的数据集,我正试图删除分析不需要的列。通常我通过一个一个地写列名来删除列。但是,我正在寻找一种按顺序删除列的方法,这样我就不必写每一列的名称了。

在下面的数据中,我想将列 a 删除到 d。我如何使用 dplyr 来做到这一点?

虚拟数据

a = c("a", "b", "c")
b = c("1", "2", "3")
c = c("a1", "b2", "c3")
d = c("F1", "F2", "F3")
e = c("A", "B", "C")
f = c("11", "22", "33")
g = c("A11", "B22", "C33")

代码

    library(tidyverse)
    df = data.frame(a, b, c, d, e, f, g)
    
# drop columns a to d
    df = df %>% dplyr::.....

在我的 phone 上所以无法正确格式化(抱歉),但这似乎是你想要做的 - 不要 select a:d

library(dplyr)
df %>% 
  select(-c(a:d))
  e  f   g
1 A 11 A11
2 B 22 B22
3 C 33 C33

替代方法是使用 ! 取一组变量的补集。:

library(dyplr)

df %>% 
  select(!a:d)
  e  f   g
1 A 11 A11
2 B 22 B22
3 C 33 C33