【发布时间】:2019-10-01 14:10:33
【问题描述】:
我有一个数据框,第一列包含年份,第二列包含月份,第三列包含天数,第四列和第五列包含不同城市(伦敦和纽约)的降雨量数据,如下所示:
mat1 = matrix(c(rep(1979, each=360), rep(1:12, each=30), rep(seq(1, 30, by=1), times=12),
rep(seq(5, 25, by=5), times=72), rep(seq(1, 9, by=1), times=40)), nrow=360, ncol=5)
colnames(mat1) = c("Year", "Month", "Day", "LON", "NYC")
我想计算每个城市的每月总和。输出应采用以下形式:
LON NYC
Jan x x
Feb x x
Mar x x
................
我试过了:
aggregate(LON ~ Month + Year, mat1, sum)
但这不会以我想要的格式输出数据,而且至关重要的是,它也只允许我一次计算一个城市(列)。如何调整上述内容以适用于所有城市并以所需格式输出?
【问题讨论】:
-
在一栏(从宽到长)、分组、汇总中获取所有城市?
-
aggregate(cbind(LON, NYC) ~ Month + Year, mat1, sum)或根据您的需要省略年份。
标签: r