使用函数 pivot_longer() 时如何排除多个列? [复制]

Posted

技术标签:

【中文标题】使用函数 pivot_longer() 时如何排除多个列? [复制]【英文标题】:How do I exclude more than one column when using the function pivot_longer()? [duplicate] 【发布时间】:2021-06-04 14:03:58 【问题描述】:

我正在尝试排除所有 3 列

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

【问题讨论】:

将列名设为向量-c("artist", "rack", "date.entered") 【参考方案1】:

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

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 

【讨论】:

以上是关于使用函数 pivot_longer() 时如何排除多个列? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

R语言使用tidyr包的pivot_longer函数将dataframe从宽表转化为长表

R语言使用tidyr包的pivot_longer函数将dataframe数据从宽表变换为长表

R语言将dataframe数据从宽表变为长表实战(melt函数pivot_longer函数gather函数)

R语言tidyr包pivot_longer函数pivot_wider函数数据表变换实战(长表到宽表宽表到长表)

R语言使用across函数一次性将多个数据列进行离散化(categorize):或者pivot_longer函数转化为长表对转化为长表的数值数据列进行离散化pivot_wider将数据转化为宽表

R语言ggplot2可视化:应用pivot_longer函数将数据从宽格式转换为长格式为dataframe的每一列绘制密度图和直方图(堆叠)