【问题标题】:Finding Average of One Column Based on 2 Other Columns RStudio基于其他 2 列 RStudio 求一列的平均值
【发布时间】:2018-05-03 01:03:56
【问题描述】:

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

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

如您所见,有重复的城市。伊利诺伊州有几个艾迪生,因为收入因城市的邮政编码/区域而异。

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

我正在寻找这个(在这个给出的例子中)

City    State    MeanIncome
Addison Illinois  84,333
Addison Texas     74,000

我试过了:

Income_By_City <- aggregate( Income ~ City, df, mean ) 

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

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

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

【问题讨论】:

    标签: r group-by rstudio aggregate mean


    【解决方案1】:
    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
    

    【讨论】:

      【解决方案2】:

      这是一个 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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-11
        • 2018-11-24
        • 1970-01-01
        • 2020-12-12
        相关资源
        最近更新 更多