dplyr summarise() 和 summarise_each() 对提供的函数进行额外调用

ruby

1个回答

写回答

Harley833

2025-07-09 20:06

+ 关注

Total
Total

使用dplyr包中的summarise()和summarise_each()函数可以轻松对数据进行汇总和摘要分析。这两个函数都是基于列的操作,可以对数据框的列进行各种统计计算,例如求和、平均、中位数、最大值、最小值等。下面将详细介绍这两个函数的用法,并结合案例代码进行演示。

首先介绍summarise()函数。summarise()函数用于对数据框的列进行汇总计算,可以根据指定的列进行分组,并对每个分组进行统计计算。它接受一个或多个汇总函数作为参数,每个汇总函数对应一个要计算的统计指标。例如,可以使用sum()函数计算每个分组的总和,mean()函数计算每个分组的平均值。

接下来是summarise_each()函数。summarise_each()函数与summarise()函数类似,但它可以对数据框的所有列应用相同的汇总函数。这在需要对数据框的所有列进行相同的统计计算时非常方便。可以使用summarise_each()函数对所有列进行求和、计数、平均等操作。

接下来展示一个例子,使用summarise()函数和summarise_each()函数对一个数据框进行汇总和摘要分析。

R

# 导入dplyr包

library(dplyr)

# 创建一个数据框

data <- data.frame(</p> group = c("A", "A", "B", "B"),

value1 = c(1, 2, 3, 4),

value2 = c(5, 6, 7, 8)

)

# 使用summarise()函数对数据进行汇总计算

summary <- data %>%

group_by(group) %>%

summarise(Total_value1 = sum(value1),

Total_value2 = sum(value2))

# 使用summarise_each()函数对数据进行汇总计算

summary_each <- data %>%

summarise_each(funs(sum))

# 输出结果

print(summary)

print(summary_each)

上述代码首先导入dplyr包,然后创建一个包含group、value1和value2三列的数据框。接着使用summarise()函数对数据进行汇总计算,按照group列进行分组,计算每个分组的value1和value2的总和,将结果存储在summary数据框中。然后使用summarise_each()函数对数据进行汇总计算,对所有列应用sum()函数进行求和操作,将结果存储在summary_each数据框中。最后输出summary和summary_each的结果。

在以上案例中,我们通过summarise()函数和summarise_each()函数对数据框进行了汇总和摘要分析。这些函数提供了一种简洁、灵活的方式来计算数据的统计指标。无论是对整个数据框的列进行汇总计算,还是对特定分组的列进行统计计算,这两个函数都能满足需求。通过灵活运用这两个函数,我们可以轻松地进行数据分析和摘要。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号