R语言 如何按组计算汇总统计

R语言 如何按组计算汇总统计

在这篇文章中,我们将讨论如何在R编程语言中按组计算汇总统计。

汇总统计将从给定的数据中返回以下信息。

  • Min – 给定数据中的最小值
  • 第一四分位数 – 数据中的第一四分位数
  • 中位数– 数据的中位数
  • Mean – 数据的平均数
  • 第三四分位数– 数据中的第三四分位数
  • 最大值- -给定数据中的最大值

让我们来创建数据框架

# create dataframe with 4 columns
data=data.frame(name=c("ojaswi","bobby","rohith","gnanesh","sireesha"),
                subjects=c("java","java","python","cpp","python"),
                age=c(21,23,21,20,19),
                id=c(1,2,3,4,5))
  
# display
data

输出

如何在R语言中按组计算汇总统计?

方法1:使用tapply()函数

在这种方法中,为了计算各组的汇总统计,用户需要简单地调用内置的tapply()函数,该函数的汇总参数与要计算汇总统计的给定数据一起传递,在这种方法下,用户将把一个汇总函数作为R语言的第三个参数。

语法:

tapply(datacolumn_name, datagroup_column, summary) 

参数

  • data是输入的数据框架
  • column_name是要汇总的列
  • group_column是要分组的列
  • summary是要得到的汇总数据

例子

在这个例子中,我们将使用R语言中的tapply()函数和summary参数,通过对受试者进行年龄分组来显示一个摘要。

# create dataframe with 4 columns
data=data.frame(name=c("ojaswi","bobby","rohith","gnanesh","sireesha"),
                subjects=c("java","java","python","cpp","python"),
                age=c(21,23,21,20,19),
                id=c(1,2,3,4,5))
  
# display summary by grouping subjects with age
tapply(dataage, datasubjects, summary) 

输出

如何在R语言中按组计算汇总统计?

方法2:使用purrr包

在这个方法中,用户必须首先安装并导入purr包,然后用户必须按照下面的语法在R语言中计算给定数据组的汇总统计。

在R控制台安装和导入purr包的语法

install.package('purr')
library('purr')

语法:

data %>% split(.$group_column) %>%map(summary) 

其中。

  • data是输入的数据框
  • group_column是要分组的列
  • summary是获取摘要的函数

例子

在这个例子中,我们借助于R语言中的purr包,通过对主题进行分组来显示摘要。

# load the library
library("purrr")
  
# create dataframe with 4 columns
data=data.frame(name=c("ojaswi","bobby","rohith","gnanesh","sireesha"),
                subjects=c("java","java","python","cpp","python"),
                age=c(21,23,21,20,19),
                id=c(1,2,3,4,5))
  
# display summary by grouping subjects
data %>% split(.$subjects) %>%map(summary)

输出

如何在R语言中按组计算汇总统计?

方法3:使用dplyr包

在这种方法中,用户必须在工作的R控制台中安装并导入dplyr包,然后按照下面的语法,使用group_by和sumarize()函数,在R语言中按组获得摘要。

在R控制台安装和导入dplyr包的语法

install.package('dplyr')
library('dplyr')

语法:

data %>% group_by(group_column) %>% summarize(min = min(column),
            q1 = quantile(column, 0.25),
            median = median(column),
            mean = mean(column),
            q3 = quantile(column, 0.75),
            max = max(column))

参数

  • min(column) – 获得该列的最小值
  • max(列) – 得到该列的最大值
  • median(column) – 获得该列的中位数
  • mean(column) – 得到该列的平均数
  • quantile(umn, 0.25) – 得到该列的第一个四分位数
  • quantile(column, 0.75) – 得到该列的第三个四分位数

例子

在这个例子中,我们使用R编程语言中的dplyr包,通过对受试者的年龄列进行分组,来显示一个摘要。

# load the library
library("dplyr")
  
# create dataframe with 4 columns
data=data.frame(name=c("ojaswi","bobby","rohith","gnanesh","sireesha"),
                subjects=c("java","java","python","cpp","python"),
                age=c(21,23,21,20,19),
                id=c(1,2,3,4,5))
  
# display summary by grouping subjects with age column
data %>% group_by(subjects) %>% summarize(min = min(age),
            q1 = quantile(age, 0.25),
            median = median(age),
            mean = mean(age),
            q3 = quantile(age, 0.75),
            max = max(age))

输出

如何在R语言中按组计算汇总统计?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程