R语言 如何在R数据框架中计算组的平均数

R语言 如何在R数据框架中计算组的平均数

在这篇文章中,我们将看到如何在R编程语言中计算DataFrame中组的平均值。

这可以通过两种方法完成

  • 使用聚合函数
  • 使用dplyr包

数据集的创建: 首先,我们创建一个数据集,这样以后我们就可以应用上述两种方法,找到按组计算的平均值。

# GFG dataset name and creation
GFG <- data.frame(                                            
   Category  = c ("A","B","C","B","C","A","C","A","B"),       
   Frequency= c(9,5,0,2,7,8,1,3,7)                            
)
  
# Prints the dataset
print(GFG)                                                    

所以,你可以看到上面的代码是用来创建一个名为 “GFG “ 的数据集

因此,当你在R编译器中运行上述代码时,会显示出一个如下的输出表格

如何在R数据框架中计算组的平均数?

应用这两种方法后,我们需要得到如下输出

如何在R数据框架中计算组的平均数?

在我们讨论这些方法之前,首先让我们知道我们是如何得到输出值 的。

  • 在表1中,我们有两列命名为类别和频率。
  • 在类别中,我们有一些重复的变量 A、B和C。
  • A组数值(9,8,3)B组数值(5,2,7)C组数值(0,7,1) 取自 频率 列。
  • 因此,为了找到 平均值 ,我们有一个公式

平均值=条款之和/条款数量

  • 因此,每组(A、B、C)的 平均数

总和

  • A=9+8+3=20
  • B=5+2+7=14
  • C=0+7+1=08

术语的数量

  • A重复3次
  • B重复了3次
  • C重复了3次

各组的平均数(A、B、C)

  • A(平均值)=总和/术语数=20/3=6.67
  • B(平均) = 总和/术语数 = 14/3 = 4.67
  • C(平均值) = 总和/术语数 = 8/3 = 2.67

方法1: 使用聚合函数

聚合函数。将数据分割成子集,计算每个子集的汇总统计量,并以一种方便的形式返回结果。

语法: aggregate(x = dataset_Name , by = group_list, FUN = any_function)

聚合函数的基本R语法

现在,让我们用聚合函数对我们的数据进行求和。

GFG <- data.frame(
   Category  = c ("A","B","C","B","C","A","C","A","B"), 
   Frequency= c(9,5,0,2,7,8,1,3,7)
)
  
# Specify data column
aggregate(x= GFGFrequency,     
            
         # Specify group indicator
         by = list(GFGCategory),      
            
         # Specify function (i.e. mean)
         FUN = mean)

输出

如何在R数据框架中计算组的平均数?

在上述聚合函数中,它需要三个参数

  • 首先是数据集名称,在我们的例子中是 ” GFG “。
  • 第二是列名,我们需要将哪些数值做成不同的组,在我们的例子中是 Category列, 它被分成三组 (A、 B、C)。
  • 在第三个参数中,我们需要提到我们需要对形成的组( A、B、C )执行哪个函数(如 平均值、和等)

方法2: 使用dplyr包

dplyr是一个软件包,它提供了一套在R中有效操作数据集的工具。

dplyr包中的方法

  • mutate() 添加新的变量,这些变量是现有变量的函数。
  • select() 根据变量的名称来挑选变量。
  • filter() 根据其数值挑选案例。
  • summarise() 将多个数值减少到一个单一的摘要。
  • arrange() 改变行的顺序。

安装这个库

install.packages("dplyr") 

加载这个库

library("dplyr")  

代码

# load dplyr library
library("dplyr")                             
GFG <- data.frame(
   Category  = c ("A","B","C","B","C","A","C","A","B"), 
   Frequency= c(9,5,0,2,7,8,1,3,7)
)
  
# Specify data frame
GFG%>%                                        
  
# Specify group indicator, column, function
group_by(Category) %>%                        
summarise_at(vars(Frequency),
              list(name = mean))

输出

如何在R数据框架中计算组的平均数?

在上面的代码中,我们首先取名为 “GFG “的数据集。通过 group_by() 方法,我们在本例中形成组(A、B、C)。 summaryise_at() 有两个参数,首先是一个列,在这个列上应用第二个参数给出的操作。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程