我有一个包含多列的大型数据框。 我的两个专栏看起来像这样:
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”的新向量。意味着我的输出向量应包含与“组”中的不同组一样多的(平均值)值。请注意,某些组比其他组具有更多的价值!
我希望你能帮我这个忙!
答案 0 :(得分:0)
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
答案 1 :(得分:0)
如果您可以发布所需的最终结果,那将非常有帮助,但是,根据我的理解,如果您要为每个组寻找平均值,则可以使用以下方法。 (安装dplyr软件包)
install.packages('dplyr')
library('dplyr')
New.Data.Frame <- Your.Data.Frame >%>
group_by(,group)>%>
summarise(,Mean_Day_of_Year= mean(day_of_year ) )