R:如何在分组数据上同时使用summary和do函数

R:如何在分组数据上同时使用summary和do函数,r,dplyr,tidyverse,R,Dplyr,Tidyverse,在tidyverse中,Summary可用于具有单值函数的分组数据。比如说 mtcars %>% group_by(cyl) %>% summarise(max(cos(mpg))) 如果函数是向量值,那么,如果我没有错,建议使用do。例如,do命令适用于phych包中的向量值函数“descripe”: library(psych) mtcars %>% group_by(cyl) %>% do(describe(.$mpg)) 如何将单值函数和向量值函数同时应用

在tidyverse中,Summary可用于具有单值函数的分组数据。比如说

mtcars %>% group_by(cyl) %>% summarise(max(cos(mpg)))
如果函数是向量值,那么,如果我没有错,建议使用do。例如,do命令适用于phych包中的向量值函数“descripe”:

 library(psych)
 mtcars %>% group_by(cyl) %>% do(describe(.$mpg))

如何将单值函数和向量值函数同时应用于分组数据?例如,如何将max(cos())和descripe()应用于mpg列,并将输出作为一个数据帧?

我们可以将
descripe
的输出放在
列表中
摘要中,然后
取消测试

library(tidyverse)
mtcars %>% 
    group_by(cyl) %>%
    summarise(Cosmpg = max(cos(mpg)), list(describe(mpg))) %>%
    unnest
# A tibble: 3 x 15
#    cyl Cosmpg  vars     n  mean    sd median trimmed   mad   min   max range   skew kurtosis    se
#  <dbl>  <dbl> <dbl> <dbl> <dbl> <dbl>  <dbl>   <dbl> <dbl> <dbl> <dbl> <dbl>  <dbl>    <dbl> <dbl>
#1  4.00  0.743  1.00 11.0   26.7  4.51   26.0    26.4  6.52  21.4  33.9 12.5   0.259   -1.65  1.36 
#2  6.00  0.939  1.00  7.00  19.7  1.45   19.7    19.7  1.93  17.8  21.4  3.60 -0.158   -1.91  0.549
#3  8.00  0.989  1.00 14.0   15.1  2.56   15.2    15.2  1.56  10.4  19.2  8.80 -0.363   -0.566 0.684
库(tidyverse)
mtcars%>%
组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别
总结(Cosmpg=max(cos(mpg)),列表(描述(mpg)))%>%
不耐烦
#一个tibble:3x15
#cyl Cosmpg变量n平均sd中值修剪mad最小最大范围偏斜峰度se
#                        
#1  4.00  0.743  1.00 11.0   26.7  4.51   26.0    26.4  6.52  21.4  33.9 12.5   0.259   -1.65  1.36 
#2  6.00  0.939  1.00  7.00  19.7  1.45   19.7    19.7  1.93  17.8  21.4  3.60 -0.158   -1.91  0.549
#3  8.00  0.989  1.00 14.0   15.1  2.56   15.2    15.2  1.56  10.4  19.2  8.80 -0.363   -0.566 0.684

一如既往,您的答案非常优雅@akrun!不需要使用do,只需在摘要中列出,然后再取消测试。