如何计算 r 中的条件均值(附示例)
您可以使用以下语法来计算 R 中的条件平均值:
mean(df[df$team == ' A ', ' points '])
这将计算数据框中每行“分数”列的平均值,其中“团队”列等于“A”。
以下示例展示了如何在实践中使用以下数据框使用此语法:
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'), points=c(99, 90, 93, 86, 88, 82), assists=c(33, 28, 31, 39, 34, 30)) #view data frame df team points assists 1 A 99 33 2 A 90 28 3 A 93 31 4 B 86 39 5 B 88 34 6 B 82 30
示例 1:计算分类变量的条件均值
以下代码显示如何仅计算数据框中“team”列值为“A”的行的“points”列的平均值。
#calculate mean of 'points' column for rows where team equals 'A'
mean(df[df$team == ' A ', ' points '])
[1] 94
“team”等于“A”的行的“points”列中的平均值为94 。
我们可以通过仅对“team”等于“A”的行的点值进行平均来手动检查这一点:
- 平均分:(99 + 90 + 93) / 3 = 94
示例 2:计算数值变量的条件平均值
以下代码演示如何仅计算数据框中“points”列的值大于或等于 90 的行的“assists”列的平均值。
#calculate mean of 'assists' column for rows where 'points' >= 90
mean(df[df$points >= 90 , ' assists '])
[1] 30.66667
“points”大于或等于 90 的行的“assists”列中的平均值为30.66667 。
我们可以通过仅对点大于或等于 90 的行的辅助值进行平均来手动检查这一点:
- 平均助攻数:(33 + 28 + 31) / 3 = 30.66667
其他资源
以下教程解释了如何在R中计算其他平均值: