R语言 如何创建透视表
在这篇文章中,我们将讨论如何在R编程语言中创建透视表。
数据透视表是微软Excel最强大的功能之一,它让我们从一个庞大而详细的数据集中提取出意义。数据透视表通常通过将某一列的一些数值分组来显示关于数据集的一些统计价值,为了在R编程语言中做到这一点,我们使用dplyr包库的group_by()和summaryize()函数。R编程语言中的dplyr包是一个数据操作的结构,它提供了一套统一的动词,帮助我们对大数据进行预处理。group_by()函数使用一个或多个变量对数据进行分组,然后summaryize函数使用传递给它的聚合函数按这些分组创建数据的摘要。
语法 。
df %>% group_by( grouping_variables) %>% summarize( label = aggregate_fun( ) )
参数 。
- df: 确定使用的数据框架。
- grouping_variables: 确定用于分组数据的变量。
- aggregate_fun(): 决定用于汇总的函数,例如,sum,mean,等等。
例1: 创建透视表
# create sample data frame
sample_data <- data.frame(label=c('Geek1', 'Geek2', 'Geek3', 'Geek1',
'Geek2', 'Geek3', 'Geek1', 'Geek2',
'Geek3'),
value=c(222, 18, 51, 52, 44, 19, 100, 98, 34))
# load library dplyr
library(dplyr)
# create pivot table with sum of value as summary
sample_data %>% group_by(label) %>%
summarize(sum_values = sum(value))
输出 。
# A tibble: 3 x 2
label sum_values
<chr> <dbl>
1 Geek1 374
2 Geek2 160
3 Geek3 104
例2: 创建透视表
# create sample data frame
sample_data <- data.frame(label=c('Geek1', 'Geek2', 'Geek3', 'Geek1',
'Geek2', 'Geek3', 'Geek1', 'Geek2',
'Geek3'),
value=c(222, 18, 51, 52, 44, 19, 100, 98, 34))
# load library dplyr
library(dplyr)
# create pivot table with sum of value as summary
sample_data %>% group_by(label) %>% summarize(average_values = mean(value))
输出 。
# A tibble: 3 x 2
label average_values
<chr> <dbl>
1 Geek1 125.
2 Geek2 53.3
3 Geek3 34.7