使用函数pivot_longer() 时如何排除多于一列?

sov*_*ice 11 r tidyr

我试图排除所有 3 列

billboard %>% 
  pivot_longer(-artist,-track,-date.entered , names_to = "Week Spent", values_to ="freq",values_drop_na = TRUE)
Run Code Online (Sandbox Code Playgroud)

akr*_*run 19

根据?pivot_longer,如果我们想要指定列名的子字符串,或者可以与带引号或不带引号的完整列名一起使用cols,则可以采用任何函数。select-helpersc()

Tidyverse 选择实现了 R 的方言,其中运算符可以轻松选择变量:

:用于选择一系列连续变量。!用于获取一组变量的补集。& 和 | 用于选择两组变量的交集或并集。c() 用于组合选择。


作为一个可重现的例子

library(dplyr)
library(tidyr)
mtcars %>%
    pivot_longer(cols = -c(vs, am, disp, gear,  carb))
# A tibble: 192 x 7
#    disp    vs    am  gear  carb name   value
#   <dbl> <dbl> <dbl> <dbl> <dbl> <chr>  <dbl>
# 1   160     0     1     4     4 mpg    21   
# 2   160     0     1     4     4 cyl     6   
# 3   160     0     1     4     4 hp    110   
3 4   160     0     1     4     4 drat    3.9 
# 5   160     0     1     4     4 wt      2.62
# 6   160     0     1     4     4 qsec   16.46
# 7   160     0     1     4     4 mpg    21   
# 8   160     0     1     4     4 cyl     6   
# 9   160     0     1     4     4 hp    110   
#10   160     0     1     4     4 drat    3.9 
Run Code Online (Sandbox Code Playgroud)