[英]Finding Average of One Column Based on 2 Other Columns RStudio
我目前有一個包含三列(城市,州和收入)的數據框,我在下面寫了一個數據示例...
City State Income
Addison Illinois 71,000
Addison Illinois 101,000
Addison Illinois 81,000
Addison Texas 74,000
如您所見,有重復的城市。 伊利諾伊州有多個Addison,因為收入因城市的郵政編碼不同而有所不同。
我想取給定城市和州所有收入的平均值。 在此示例中,我想要所有Addison IL的平均值,但不包括德克薩斯州Addison的平均值。
我正在尋找這個(在這個給定的例子中)
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
這是dplyr解決方案:
library(tidyverse)
df <- tribble(
~City, ~State, ~Income,
"Addison", "Illinois", 71000,
"Addison", "Illinois", 101000,
"Addison", "Illinois", 81000,
"Addison", "Texas", 74000
)
df %>%
group_by(City, State) %>%
mutate(AverageIncome = mean(Income))
# A tibble: 4 x 4
# Groups: City, State [2]
City State Income AverageIncome
<chr> <chr> <dbl> <dbl>
1 Addison Illinois 71000 84333.33
2 Addison Illinois 101000 84333.33
3 Addison Illinois 81000 84333.33
4 Addison Texas 74000 74000.00
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.