dplyr_new version-across

时间:2022-07-25
本文章向大家介绍dplyr_new version-across,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

dplyr_new version

sunqi

2020/6/8

概述

2020年5月29日,dplyr迎来来大更新,作为大版本的更新,还是有必要进行学习一下

安装

# remove.packages("dplyr")
# install.packages("dplyr")

across 和mutate合用

Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.

across 和summarise合用

实现按照鸢尾花种类分组,并按照组输出包含Petal的变量的均值

iris %>%
  group_by(Species) %>%
  summarise(across(contains("Petal"), mean))

## `summarise()` ungrouping output (override with `.groups` argument)
## # A tibble: 3 x 3
##   Species    Petal.Length Petal.Width
##   <fct>             <dbl>       <dbl>
## 1 setosa             1.46       0.246
## 2 versicolor         4.26       1.33
## 3 virginica          5.55       2.03
#多列多个结果汇总

iris_wide<-iris %>%  group_by(Species) %>%
  summarise(across(where(is.numeric),
                   list(sum=sum, mean=mean, min=min)))

## `summarise()` ungrouping output (override with `.groups` argument)
iris_wide

## # A tibble: 3 x 13
##   Species Sepal.Length_sum Sepal.Length_me~ Sepal.Length_min Sepal.Width_sum
##   <fct>              <dbl>            <dbl>            <dbl>           <dbl>
## 1 setosa              250.             5.01              4.3            171.
## 2 versic~             297.             5.94              4.9            138.
## 3 virgin~             329.             6.59              4.9            149.
## # ... with 8 more variables: Sepal.Width_mean <dbl>, Sepal.Width_min <dbl>,
## #   Petal.Length_sum <dbl>, Petal.Length_mean <dbl>, Petal.Length_min <dbl>,
## #   Petal.Width_sum <dbl>, Petal.Width_mean <dbl>, Petal.Width_min <dbl>
# 上述代码,实现对多个变量的多个统计值的计算
# 同时也可以根据变量名生成长数据格式,提高结果可读性
iris_wide%>%pivot_longer(-Species,
                        names_to = c("Vars", ".value"),
                        names_sep = "_")

## # A tibble: 12 x 5
##    Species    Vars           sum  mean   min
##    <fct>      <chr>        <dbl> <dbl> <dbl>
##  1 setosa     Sepal.Length 250.  5.01    4.3
##  2 setosa     Sepal.Width  171.  3.43    2.3
##  3 setosa     Petal.Length  73.1 1.46    1
##  4 setosa     Petal.Width   12.3 0.246   0.1
##  5 versicolor Sepal.Length 297.  5.94    4.9
##  6 versicolor Sepal.Width  138.  2.77    2
##  7 versicolor Petal.Length 213   4.26    3
##  8 versicolor Petal.Width   66.3 1.33    1
##  9 virginica  Sepal.Length 329.  6.59    4.9
## 10 virginica  Sepal.Width  149.  2.97    2.2
## 11 virginica  Petal.Length 278.  5.55    4.5
## 12 virginica  Petal.Width  101.  2.03    1.4

across 和filter联合使用

iris %>%
  filter(across(where(is.numeric), ~ .x > 0.5))  # 选择选定列大于0.5
的行
##     Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
## 1            5.0         3.5          1.6         0.6     setosa
## 2            7.0         3.2          4.7         1.4 versicolor
## 3            6.4         3.2          4.5         1.5 versicolor
## 4            6.9         3.1          4.9         1.5 versicolor
## 5            5.5         2.3          4.0         1.3 versicolor
## 6            6.5         2.8          4.6         1.5 versicolor
## 7            5.7         2.8          4.5         1.3 versicolor
## 8            6.3         3.3          4.7         1.6 versicolor
## 9            4.9         2.4          3.3         1.0 versicolor
## 10           6.6         2.9          4.6         1.3 versicolor
## 11           5.2         2.7          3.9         1.4 versicolor
## 12           5.0         2.0          3.5         1.0 versicolor
## 13           5.9         3.0          4.2         1.5 versicolor
## 14           6.0         2.2          4.0         1.0 versicolor
## 15           6.1         2.9          4.7         1.4 versicolor
## 16           5.6         2.9          3.6         1.3 versicolor
## 17           6.7         3.1          4.4         1.4 versicolor
## 18           5.6         3.0          4.5         1.5 versicolor
## 19           5.8         2.7          4.1         1.0 versicolor
## 20           6.2         2.2          4.5         1.5 versicolor
## 21           5.6         2.5          3.9         1.1 versicolor
## 22           5.9         3.2          4.8         1.8 versicolor
## 23           6.1         2.8          4.0         1.3 versicolor
## 24           6.3         2.5          4.9         1.5 versicolor
## 25           6.1         2.8          4.7         1.2 versicolor
## 26           6.4         2.9          4.3         1.3 versicolor
## 27           6.6         3.0          4.4         1.4 versicolor
## 28           6.8         2.8          4.8         1.4 versicolor
## 29           6.7         3.0          5.0         1.7 versicolor
## 30           6.0         2.9          4.5         1.5 versicolor
## 31           5.7         2.6          3.5         1.0 versicolor
## 32           5.5         2.4          3.8         1.1 versicolor
## 33           5.5         2.4          3.7         1.0 versicolor
## 34           5.8         2.7          3.9         1.2 versicolor
## 35           6.0         2.7          5.1         1.6 versicolor
## 36           5.4         3.0          4.5         1.5 versicolor
## 37           6.0         3.4          4.5         1.6 versicolor
## 38           6.7         3.1          4.7         1.5 versicolor
## 39           6.3         2.3          4.4         1.3 versicolor
## 40           5.6         3.0          4.1         1.3 versicolor
## 41           5.5         2.5          4.0         1.3 versicolor
## 42           5.5         2.6          4.4         1.2 versicolor
## 43           6.1         3.0          4.6         1.4 versicolor
## 44           5.8         2.6          4.0         1.2 versicolor
## 45           5.0         2.3          3.3         1.0 versicolor
## 46           5.6         2.7          4.2         1.3 versicolor
## 47           5.7         3.0          4.2         1.2 versicolor
## 48           5.7         2.9          4.2         1.3 versicolor
## 49           6.2         2.9          4.3         1.3 versicolor
## 50           5.1         2.5          3.0         1.1 versicolor
## 51           5.7         2.8          4.1         1.3 versicolor
## 52           6.3         3.3          6.0         2.5  virginica
## 53           5.8         2.7          5.1         1.9  virginica
## 54           7.1         3.0          5.9         2.1  virginica
## 55           6.3         2.9          5.6         1.8  virginica
## 56           6.5         3.0          5.8         2.2  virginica
## 57           7.6         3.0          6.6         2.1  virginica
## 58           4.9         2.5          4.5         1.7  virginica
## 59           7.3         2.9          6.3         1.8  virginica
## 60           6.7         2.5          5.8         1.8  virginica
## 61           7.2         3.6          6.1         2.5  virginica
## 62           6.5         3.2          5.1         2.0  virginica
## 63           6.4         2.7          5.3         1.9  virginica
## 64           6.8         3.0          5.5         2.1  virginica
## 65           5.7         2.5          5.0         2.0  virginica
## 66           5.8         2.8          5.1         2.4  virginica
## 67           6.4         3.2          5.3         2.3  virginica
## 68           6.5         3.0          5.5         1.8  virginica
## 69           7.7         3.8          6.7         2.2  virginica
## 70           7.7         2.6          6.9         2.3  virginica
## 71           6.0         2.2          5.0         1.5  virginica
## 72           6.9         3.2          5.7         2.3  virginica
## 73           5.6         2.8          4.9         2.0  virginica
## 74           7.7         2.8          6.7         2.0  virginica
## 75           6.3         2.7          4.9         1.8  virginica
## 76           6.7         3.3          5.7         2.1  virginica
## 77           7.2         3.2          6.0         1.8  virginica
## 78           6.2         2.8          4.8         1.8  virginica
## 79           6.1         3.0          4.9         1.8  virginica
## 80           6.4         2.8          5.6         2.1  virginica
## 81           7.2         3.0          5.8         1.6  virginica
## 82           7.4         2.8          6.1         1.9  virginica
## 83           7.9         3.8          6.4         2.0  virginica
## 84           6.4         2.8          5.6         2.2  virginica
## 85           6.3         2.8          5.1         1.5  virginica
## 86           6.1         2.6          5.6         1.4  virginica
## 87           7.7         3.0          6.1         2.3  virginica
## 88           6.3         3.4          5.6         2.4  virginica
## 89           6.4         3.1          5.5         1.8  virginica
## 90           6.0         3.0          4.8         1.8  virginica
## 91           6.9         3.1          5.4         2.1  virginica
## 92           6.7         3.1          5.6         2.4  virginica
## 93           6.9         3.1          5.1         2.3  virginica
## 94           5.8         2.7          5.1         1.9  virginica
## 95           6.8         3.2          5.9         2.3  virginica
## 96           6.7         3.3          5.7         2.5  virginica
## 97           6.7         3.0          5.2         2.3  virginica
## 98           6.3         2.5          5.0         1.9  virginica
## 99           6.5         3.0          5.2         2.0  virginica
## 100          6.2         3.4          5.4         2.3  virginica
## 101          5.9         3.0          5.1         1.8  virginica

结束语

dplyr这次更新的内容还是比较多的,也解决了我以前处理数据中遇到的一些问题,这次更新across的内容,愿世界美好,

love&peace.