从数据帧来看,有没有一种简单的方法可以同时聚合(summeanmaxETC)多个变量?

以下是一些样本数据:

library(lubridate)
days = 365*2
date = seq(as.Date("2000-01-01"), length = days, by = "day")
year = year(date)
month = month(date)
x1 = cumsum(rnorm(days, 0.05)) 
x2 = cumsum(rnorm(days, 0.05))
df1 = data.frame(date, year, month, x1, x2)

我想同时将df2个数据框中的x1x2个变量按年份和月份进行汇总.下面的代码聚合了x1个变量,但也可以同时聚合x2个变量吗?

### aggregate variables by year month
df2=aggregate(x1 ~ year+month, data=df1, sum, na.rm=TRUE)
head(df2)

推荐答案

这个year()函数来自哪里?

您也可以使用reshape2软件包完成此任务:

require(reshape2)
df_melt <- melt(df1, id = c("date", "year", "month"))
dcast(df_melt, year + month ~ variable, sum)
#  year month         x1           x2
1  2000     1  -80.83405 -224.9540159
2  2000     2 -223.76331 -288.2418017
3  2000     3 -188.83930 -481.5601913
4  2000     4 -197.47797 -473.7137420
5  2000     5 -259.07928 -372.4563522

R相关问答推荐

使用%in%时如何应用多个条件?

extract()函数不处理stanfit对象,我用错了吗?

Select R中列未排序的收件箱中的最后一个按顺序编号的列

如何使用ggplot重新绘制LASO回归图?

有没有一种方法可以从函数中创建一个值的列表,然后将这些值变成R中的直方图?我一直觉得不行

随机森林回归:下拉列重要性

如何计算前一行的值,直到达到标准?

如何在xyplot中 for each 面板打印R^2

使用case_match()和char数组重新编码值

使用R闪光显示所有数据点作为默认设置

合并DFS列表并将索引提取为新列

在不丢失空值的情况下取消列出嵌套列表

比较理论阿尔法和经验阿尔法

将选定的索引范围与阈值进行比较

R如何计算现有行的总和以添加新的数据行

提高圣彼得堡模拟的速度

将列表中的字符串粘贴到R中for循环内的dplyr筛选器中

如何提取R中其他字符串和数字之间的字符串?

在生成打印的自定义函数中,可以通过变量将线型或 colored颜色 设置为NULL吗?

当由base::限定时,`[.factor`引发NextMethod错误