我正在使用dplyr库处理数据集。我试图通过使用“ summarise_at”函数将一些变量分组并在一个命令行中计算均值和总和来进行努力。
使用以下代码,我得到了一个错误。
complete.data %>%
select(A, B, C, D, E, F) %>%
group_by(A) %>%
summarise_at(vars(B, C, D), mean) %>%
summarise_at(vars(E, F, G), sum)
此外,我认为我将得到一个具有以下变量顺序的表作为输出:
group_by (A), mean variables (B,C,D), sum variables (E,F,G)
每列下都有相关数据。
我想按以下顺序获取变量:
A(group_by) D B E C F
您能建议我一种获得预期结果的方法吗?
答案 0 :(得分:0)
这是我的链接重复注释中未涉及的方法。这是一种可怕的方法,但是如果数据较小和/或您的汇总功能很快,则可以。基本上,我将所有函数应用于所有所需的变量,然后选择所需的组合。
我个人认为这不值得,只是将其发布在这里-
mtcars %>%
group_by(cyl) %>%
summarize_at(c(3,4,5,6), list(mean = ~mean(.), sum = ~sum(.), median = ~median(.))) %>%
select(cyl, hp_mean, drat_sum, wt_median, qsec_median)
# select can be automated based on patterns
# A tibble: 3 x 5
cyl hp_mean drat_sum wt_median qsec_median
<dbl> <dbl> <dbl> <dbl> <dbl>
1 4 82.6 44.8 2.2 18.9
2 6 122. 25.1 3.22 18.3
3 8 209. 45.2 3.76 17.2