r - 如何找到列中某些值的中位数和平均值?
问题描述
我有一个大的 csv 文件,我正在尝试查找列中某些值的中值和平均值。我的一个专栏的标题是“种族”,另一个专栏叫做“debt_to_income_ratio”。在种族列中,四个选项是“白人”、“黑人”、“西班牙裔”和“其他”。“debt_to_income_ratio”列中有一个数字,表示“种族”列中任何种族的债务与收入比率。我试图获得每个种族(白人、黑人、西班牙裔和其他人)的中位数和平均债务与收入比率。
我目前使用的代码是:
df['race average'] = df.groupby('Race')['debt_to_income_ratio'].transform('mean') %>%
df['race median'] = df.groupby('Race')['debt_to_income_ratio'].transform('median')
我不确定我应该做什么,所以提前感谢您的帮助!
解决方案
我们可以使用dplyr
来做到这一点
library(dplyr)
df %>%
group_by(Race) %>%
mutate(Mean = mean(debt_to_income_ratio, na.rm = TRUE),
Median = median(debt_to_income_ratio, na.rm = TRUE))