r - 基于 2 个其他列查找一列的平均值 RStudio

标签 r group-by rstudio aggregate mean

我目前有一个包含三列(城市、州和收入)的数据框,我在下面写了一个数据示例...

City     State     Income 
Addison  Illinois   71,000
Addison  Illinois   101,000
Addison  Illinois   81,000
Addison  Texas      74,000

正如你所看到的,城市有重复。有几个艾迪生,伊利诺伊州,因为收入因城市的邮政编码/地区而异。

我想取给定城市和州所有收入的平均值。在这个例子中,我想要所有艾迪生 IL 的平均值,但不包括德克萨斯州艾迪生。

我正在寻找这个(在这个给定的例子中)
City    State    MeanIncome
Addison Illinois  84,333
Addison Texas     74,000

我试过这个:
Income_By_City <- aggregate( Income ~ City, df, mean ) 

但它给了我所有艾迪生的平均值,包括德克萨斯州......

有没有办法根据城市和州取收入列的平均值?

我对编码很陌生,所以我不确定这是否是一个简单的问题。但我会很感激我能得到的任何帮助。

最佳答案

df <- data.frame(City = c("Addison", "Addison", "Addison", "Addison"), State = c("Illinois", "Illinois", "Illinois", "Texas"), Income = c(71000, 101000, 81000, 74000))

library(dplyr)
df %>%
   group_by(City, State) %>%
   summarise(MeanIncome=(mean(Income)))


#     City     State   MeanIncome
#1 Addison  Illinois   84333.33
#2 Addison     Texas   74000.00

关于r - 基于 2 个其他列查找一列的平均值 RStudio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47381378/

相关文章:

r - 如何找出数列中某个数字是等差数列的开头?

r - 通过 strsplit 使用非贪婪正则表达式拆分字符串

使用具有多个条件的 group by 的 MySQL 查询

mysql - 使用 HAVING 和 GROUP BY 获取总金额

r - 如何在 `:=` 下的 data.table 中分配动态列名称?

r - 如何将数据框中的每一列拆分为两列?

Mysql查询从Purchase_history表中查找购买商品的最后交易日期

r - 将 RStudio Default R Notebook 更改为空白

r - 在rstudio中提取git信息

r - 检测我在哪台计算机上运行 R 脚本