如何在 r 中对列进行平均(附示例)


通常,您可能希望在 R 中对多个列的值进行平均。幸运的是,使用rowMeans()函数可以轻松做到这一点。

本教程展示了此功能实际使用的几个示例。

示例 1:计算所有列的平均值

以下代码显示如何计算数据框中所有列的每行的平均值:

 #create data frame
data <- data.frame(var1 = c(0, NA, 2, 2, 5),
                   var2 = c(5, 5, 7, 8, 9),
                   var3 = c(2, 7, 9, 9, 7))

#view data frame
data

  var1 var2 var3
1 0 5 2
2 NA 5 7
3 2 7 9
4 2 8 9
5 5 9 7

#find average value in each row
rowMeans(data, na.rm= TRUE )

[1] 2.333333 6.000000 6.000000 6.333333 7.000000

结果解释方式如下:

  • 第一行的平均值是2.333
  • 第二行的平均值是6
  • 第三行的平均值是6
  • 第四行的平均值是6.333
  • 第五行的平均值是7

您还可以将这些行平均值分配给数据框中的新变量:

 #assign row averages to new variable named row_mean
data$row_mean <- rowMeans(data, na.rm= TRUE )

#view data frame
data

  var1 var2 var3 row_mean
1 0 5 2 2.333333
2 NA 5 7 6.000000
3 2 7 9 6.000000
4 2 8 9 6.333333
5 5 9 7 7.000000

示例 2:查找特定列的平均值

也可以仅找到数据框特定列的平均值。例如,以下代码显示如何仅计算前两列的行平均值:

 #find row averages across first two columns
data$new <- rowMeans(data[, c(1,2)], na.rm= TRUE )

#view data frame
data

  var1 var2 var3 new
1 0 5 2 2.5
2 NA 5 7 5.0
3 2 7 9 4.5
4 2 8 9 5.0
5 5 9 7 7.0

我们可以看到这个:

  • 第一行前两列的平均值为2.5
  • 第二行前两列的平均值是5

等等。

您可以使用类似的语法来查找任何列集的行平均值。例如,以下代码显示如何仅计算第一列和第三列的行平均值:

 #find row averages across first and third columns
data$new <- rowMeans(data[, c(1,3)], na.rm= TRUE )

#view data frame
data

  var1 var2 var3 new
1 0 5 2 1.0
2 NA 5 7 7.0
3 2 7 9 5.5
4 2 8 9 5.5
5 5 9 7 6.0

我们可以看到这个:

  • 第一行第一列和第三列的平均值为1
  • 第二行第一列和第三列的平均值是7

等等。

您可以在此处找到更多 R 教程。

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注