【发布时间】:2019-07-27 01:10:06
【问题描述】:
dplyr 计算描述性统计数据的功能非常棒,而且它非常灵活,非常有用。
我想知道是否可以自动更改计算顺序,因为现在它将每个函数应用于所有选定的变量,然后使用下一个函数进行。因此,输出列出了所有变量的最小值,然后是 25% 分位数,依此类推。我想知道是否可以连续显示每个变量的所有描述性统计数据。
library(data.table)
library(dplyr)
mtcars %>%
select(mpg, cyl, gear) %>%
group_by(gear) %>%
summarise_all(.tbl = ., funs(min = min(.),
q25 = quantile(., 0.25),
median = median(.),
q75 = quantile(., 0.75),
max = max(.),
mean = mean(.),
sd = sd(.)), na.rm = TRUE) %>%
data.table(.)
# Output now
gear mpg_min cyl_min mpg_q25 cyl_q25 mpg_median cyl_median mpg_q75 cyl_q75 mpg_max cyl_max mpg_mean cyl_mean mpg_sd cyl_sd
1: 3 10.4 4 14.5 8 15.5 8 18.400 8 21.5 8 16.10667 7.466667 3.371618 1.1872337
2: 4 17.8 4 21.0 4 22.8 4 28.075 6 33.9 6 24.53333 4.666667 5.276764 0.9847319
3: 5 15.0 4 15.8 4 19.7 6 26.000 8 30.4 8 21.38000 6.000000 6.658979 2.0000000
# Desired Output - Excerpt
gear mpg_min mpg_q25 mpg_median mpg_q75 mpg_max mpg_mean mpg_sd cyl_min cyl_q25
1: 3 10.4 14.5 15.5 18.400 21.5 16.10667 3.371618 4 8
2: 4 17.8 21.0 22.8 28.075 33.9 24.53333 5.276764 4 4
3: 5 15.0 15.8 19.7 26.000 30.4 21.38000 6.658979 4 4
【问题讨论】:
-
我不清楚你想要什么。也许还包括预期的输出。
-
添加了所需的输出,基本上是列排序问题。
-
刚找到这个,和我的问题很接近stackoverflow.com/questions/34067123/…
-
为什么不使用
dplyr或data.table做所有事情? -
@NelsonGon 最后的 data.table 调用只是为了显示原因,因为生成的 tibble 被截断了。