如何将时间序列数据中特定列的平均值添加到R中的该行?

如何将时间序列数据中特定列的平均值添加到R中的该行?,r,R,我有关于各州人口的数据。对于这个数据帧中的每一行,我想添加一个avg_pop列,它是该状态在所有时间段内的平均人口。我如何在R中实现这一点 例如: st1 10 st1 20 应该成为 st1 10 15 st1 10 15 因为st1的平均值是15 我尝试了这个方法,但它不起作用,因为数据帧的大小不同: averages = aggregate(data, list(data$state_name), mean, na.rm=T) data$avg_pop = subset(average

我有关于各州人口的数据。对于这个数据帧中的每一行,我想添加一个avg_pop列,它是该状态在所有时间段内的平均人口。我如何在R中实现这一点

例如:

st1 10
st1 20
应该成为

st1 10 15
st1 10 15
因为st1的平均值是15

我尝试了这个方法,但它不起作用,因为数据帧的大小不同:

averages = aggregate(data, list(data$state_name), mean, na.rm=T)
data$avg_pop = subset(averages, state_name==data$state_name)$stpop

如果要创建列,请使用ave


如果要创建列,请使用ave


要计算新列,可以使用mutate函数:

图书馆管理员


df%>%mutateavg_pop=meanmass,na.rm=TRUE

要计算新列,可以使用mutate函数:

图书馆管理员

df%>%mutateavg_pop=meanmass,na.rm=TRUE

data$avg_pop <- with(data, ave(col_name, state_name))