📅  最后修改于: 2023-12-03 15:06:57.500000             🧑  作者: Mango
在数据处理和分析中,我们经常需要对多列数据进行汇总计算。在 R 编程语言中,有一些函数可以轻松实现这一目标,包括 dplyr
和 tidyr
等包中的函数。
install.packages("dplyr")
library(dplyr)
假设我们有以下数据框:
df <- data.frame(a = c(1, 2, 3),
b = c(4, 5, 6),
c = c(7, 8, 9))
我们可以使用 dplyr
包中的 summarise_all
函数对所有列进行求和操作:
df %>% summarise_all(sum)
输出结果为:
| a | b | c | |---|---|---| | 6 | 15 | 24 |
如果我们只想对特定列进行求和操作,可以使用 summarise_at
函数:
df %>% summarise_at(vars(a, b), sum)
输出结果为:
| a | b | |---|---| | 6 | 15 |
假设我们有以下数据框:
df <- data.frame(group = c(1, 1, 2, 2),
a = c(1, 2, 3, 4),
b = c(5, 6, 7, 8),
c = c(9, 10, 11, 12))
我们可以使用 dplyr
包中的 group_by
函数对指定列进行分组,并使用 summarise_all
函数对所有列进行求和操作:
df %>% group_by(group) %>% summarise_all(sum)
输出结果为:
| group | a | b | c | |-------|---|---|---| | 1 | 3 | 11| 19| | 2 | 7 | 15| 23|
install.packages("tidyr")
library(tidyr)
假设我们有以下数据框:
df <- data.frame(a = c(1, 2, 3),
b = c(4, 5, 6),
c = c(7, 8, 9))
我们可以使用 tidyr
包中的 gather
函数将列转换为行,并对转换后的列进行求和操作:
df %>% gather(variable, value) %>% summarise(sum = sum(value))
输出结果为:
| variable | sum | |----------|-----| | a | 6 | | b | 15 | | c | 24 |
如果我们只想对特定列进行转换和求和操作,可以使用 gather_at
和 summarise_at
函数:
df %>% gather_at(vars(a, b), key = "variable", value = "value") %>%
summarise_at(vars(value), sum)
输出结果为:
| variable| value | |---------|-------| | a | 6 | | b | 15 |
假设我们有以下数据框:
df <- data.frame(group = c(1, 1, 2, 2),
a = c(1, 2, 3, 4),
b = c(5, 6, 7, 8),
c = c(9, 10, 11, 12))
我们可以使用 tidyr
包中的 gather
函数将列转换为行,并对转换后的列进行分组和求和操作:
df %>% gather(variable, value, -group) %>% group_by(group, variable) %>%
summarise(sum = sum(value))
输出结果为:
| group | variable | sum | |-------|----------|-----| | 1 | a | 3 | | 1 | b | 11 | | 1 | c | 19 | | 2 | a | 7 | | 2 | b | 15 | | 2 | c | 23 |
在 R 编程语言中,使用 dplyr
和 tidyr
包中的函数可以方便地对多列数据进行汇总计算。使用这些函数,你可以更高效地完成数据处理和分析任务。