【发布时间】:2019-05-16 23:55:20
【问题描述】:
我需要一个按月份分组的新平均值列,并且每个月的相同平均值重复该月出现 n 次。
计算了分组平均值,但它们是唯一值,我无法让它在几个月内并排重复 n 次。
tn_1$GAVG = aggregate(tn_1$FATALITIES, list(tn_1$MONTH), mean)
它给出了以下错误
Error in `$<-.data.frame`(`*tmp*`, GAVG, value = list(Group.1 = c("01", :
replacement has 12 rows, data has 6267
新列必须显示每个月值的平均值。
structure(list(FATALITIES = c(1L, 2L, 5L, 5L, 3L, 3L, 3L, 4L,
8L, 1L, 7L, 4L, 3L, 4L, 12L, 4L, 1L, 2L, 3L, 1L, 0L, 0L, 4L,
1L, 0L, 5L, 0L, 12L, 3L, 2L, 4L, 5L, 1L, 22L, 0L, 1L, 2L, 4L,
7L, 3L), MONTH = c("04", "04", "04", "04", "05", "05", "05",
"05", "05", "05", "05", "05", "05", "05", "06", "06", "06", "06",
"06", "06", "06", "06", "06", "06", "06", "06", "06", "06", "06",
"06", "06", "06", "06", "06", "06", "06", "06", "06", "06", "06"
)), .Names = c("FATALITIES", "MONTH"), row.names = c(NA, 40L), class = "data.frame")
【问题讨论】:
-
同意上面的^,一个可重现的例子会很有帮助。您可以在数据框中使用
dput()为您提供重现数据的代码。您的数据样本应该足够了 -
我的解决方法是
mg <- aggregate(tn_1$FATALITIES, list(tn_1$MONTH), mean) names(mg) <- c("MONTH", "GAVG") tn_1 <- left_join(tn_1, mg, by = ("MONTH")) -
我需要一个班轮
标签: r calculated-columns