gpt4 book ai didi

R:如何对分组数据同时使用 summarize 和 do 函数

转载 作者:行者123 更新时间:2023-12-04 11:41:14 25 4
gpt4 key购买 nike

在 tidyverse 中,summarize 可用于具有单值函数的分组数据。例如

mtcars %>% group_by(cyl) %>% summarise(max(cos(mpg)))

如果函数是向量值的,那么如果我没记错的话,建议使用 do。例如,do 命令适用于 phych 包中的向量值函数“describe”:

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

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

最佳答案

我们可以将 describe 的输出放在 summarise 中的 list 中,然后 unnest

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

关于R:如何对分组数据同时使用 summarize 和 do 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49648237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com