R语言 使用dplyr对多列进行汇总 您所在的位置:网站首页 R语言if函数多个命令 R语言 使用dplyr对多列进行汇总

R语言 使用dplyr对多列进行汇总

2024-07-09 02:23| 来源: 网络整理| 查看: 265

R语言 使用dplyr对多列进行汇总

在这篇文章中,我们将讨论如何使用R编程语言中的dplyr包对多列进行汇总。

方法1:使用summaryise_all()方法

R语言中的summaryise_all方法被用来影响数据框架的每一列。输出的数据框返回数据框的所有列,其中指定的函数被应用于每一列。

summarise_all(data, function)

参数:

data – 要总结的数据框架的列 function – 应用于所有数据框架列的函数。 library("dplyr")    # creating a data frame df < - data.frame(col1=sample(rep(c(1: 5), each=3)),                   col2=5: 19)    print("original dataframe") print(df)    # summarising the data print("summarised dataframe") summarise_all(df, mean)

输出

[1] "original dataframe" col1 col2 1 2 1 2 3 2 3 4 3 4 2 4 5 2 5 6 4 6 7 1 7 8 1 8 9 5 9 10 3 10 11 5 11 12 1 12 13 4 13 14 5 14 15 3 15 col1 col2 1 3 8

解释: 所有数值的平均值是按列计算的,也就是说,计算col1的数值之和并除以行的数量。同样地,计算col2和col3的值的总和。所有的列都会在最后的输出中返回。

方法2:使用summaryise_at()方法

summaryise_at()影响到用字符向量或vars()提取的变量。它将选定的函数应用到数据框中。输出的数据框包含所有在summaryise_at方法中指定的列。如果数据框的所有列都被提及,那么这个方法的功能就与summaryise_all方法相同。

data %>% summarise_at(vars(-cols(), ...), function)

参数:

data – 要总结的数据框架的列 function – 应用于所有数据框架列的函数。 library("dplyr")    # creating a data frame df < - data.frame(col1=sample(rep(c(1: 5), each=3)),                   col2=1: 15,                   col3=letters[1:15])    print("original dataframe") print(df)    # summarising the data print("summarised dataframe") df % >% summarise_at(c("col1", "col2"), mean, na.rm=TRUE)

输出

[1] "original dataframe" col1 col2 col3 1 3 1 a 2 5 2 b 3 4 3 c 4 4 4 d 5 5 5 e 6 3 6 f 7 2 7 g 8 2 8 h 9 1 9 i 10 4 10 j 11 2 11 k 12 5 12 l 13 1 13 m 14 3 14 n 15 1 15 o [1] "summarised dataframe" col1 col2 1 3 8


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有