【发布时间】:2017-04-18 06:06:17
【问题描述】:
我需要使用 R 获取大型数据集的所有列的平均值,按 2 个变量分组。
让我们用 mtcars 试试吧:
library(dplyr)
g_mtcars <- group_by(mtcars, cyl, gear)
summarise(g_mtcars, mean (hp))
# Source: local data frame [8 x 3]
# Groups: cyl [?]
#
# cyl gear `mean(hp)`
# <dbl> <dbl> <dbl>
# 1 4 3 97.0000
# 2 4 4 76.0000
# 3 4 5 102.0000
# 4 6 3 107.5000
# 5 6 4 116.5000
# 6 6 5 175.0000
# 7 8 3 194.1667
# 8 8 5 299.5000
它适用于“hp”,但我需要获取 mtcar 的所有其他列的平均值(组成一个组的“cyl”和“gear”除外)。
数据集很大,有几列。手动输入,像这样:summarise(g_mtcars, mean (hp), mean(drat), mean (wt),...) 不实用。
【问题讨论】:
-
PS:使用summarize只是我的第一次尝试,也是我唯一想到的。请随意使用您想要的任何其他 R 函数。
-
我们应该猜出哪个包包含
group_by?请让示例完全可重现。 -
@Bhas 不,我们不是。该函数来自
dplyr包,应该在帖子中提到。我编辑了它。