【问题标题】:Extract a new vector of multiple mean values from a data frame从数据框中提取多个平均值的新向量
【发布时间】:2019-05-12 21:23:51
【问题描述】:

我有一个包含多列的大型数据框。 我的两个专栏是这样的:

day_of_year <- c(123,312,23,123,322,1,23,321,124,192, ...)

group <- c(1,1,1,1,3,3,3,2,2,2, ...)

我想为每个分开的组创建一个平均值为“day_of_year”的新向量。这意味着我的输出向量应该包含与“组”中不同组一样多的(平均值)值。请注意,某些组比其他组具有更多的价值!

希望你能帮我解决这个问题!

【问题讨论】:

标签: r dataframe vector mean


【解决方案1】:

tapply 就是这种情况

day_of_year <- c(123,312,23,123,322,1,23,321,124,192)
group <- c(1,1,1,1,3,3,3,2,2,2)

tapply(day_of_year, group, mean)
#       1        2        3 
#145.2500 212.3333 115.3333 

【讨论】:

    【解决方案2】:

    如果您可以发布您正在寻找的最终结果,那将非常有帮助,但是,根据我的理解,如果您正在寻找每组的平均值,则以下内容将起作用。 (安装 dplyr 包)

    install.packages('dplyr')
    library('dplyr')
    
    New.Data.Frame <- Your.Data.Frame >%>
                       group_by(,group)>%>
                        summarise(,Mean_Day_of_Year= mean(day_of_year ) )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-25
      • 2019-12-06
      • 1970-01-01
      • 1970-01-01
      • 2023-02-09
      相关资源
      最近更新 更多