R-无法按日期聚合数据

R-无法按日期聚合数据,r,plyr,R,Plyr,我正在尝试使用ddply()聚合一个表。 我的桌子看起来像这样: Year Month Count 2000 Jan 1 2000 Jan 2 2001 Feb 2 2001 Feb 1 我想根据年份和月份来计算总数。所以我会有2000年1月3日和2001年2月3日。 我的代码是 ddply(df,???,sum(Count)) 我不知道如何添加多个变量。我们按变量“年”、“月”分组,并从plyr中获取指定摘要的计数的总和

我正在尝试使用
ddply()
聚合一个表。 我的桌子看起来像这样:

Year  Month  Count
2000   Jan       1
2000   Jan       2
2001   Feb       2
2001   Feb       1
我想根据年份和月份来计算总数。所以我会有2000年1月3日和2001年2月3日。 我的代码是

ddply(df,???,sum(Count))

我不知道如何添加多个变量。

我们按变量“年”、“月”分组,并从
plyr
中获取指定
摘要的
计数的
总和

使用
plyr

library(plyr)
ddply(df, .(Year, Month), plyr::summarise, Count=sum(Count))
#  Year Month Count
#1 2000   Jan     3
#2 2001   Feb     3
或者我们可以使用
base R
中的
aggregate
公式方法

aggregate(Count~., df, FUN=sum)
 # Year Month Count
#1 2001   Feb     3
#2 2000   Jan     3
或者使用
dplyr
,我们根据变量进行分组,并
总结

library(dplyr)
df %>% 
   group_by(Year, Month) %>%
   dplyr::summarise(Count=sum(Count))
#   Year Month Count
#  (int) (chr) (int)
#1  2000   Jan     3
#2  2001   Feb     3
或者我们将'data.frame'转换为'data.table'(
setDT(df)
),按列分组,并获得'Count'的

library(data.table)
setDT(df)[, list(Count=sum(Count)), .(Year, Month)]
#   Year Month Count
#1: 2000   Jan     3
#2: 2001   Feb     3
注意:当我们加载与其他软件包类似的函数时,最好使用
packagename::function
plyr::summary
dplyr::summary

数据
df您可以查看
?ddply
中的示例。使用您的数据集,
ddply(df,((年,月),plyr::summary,Count=sum(Count))
通过这样做,我得到了所有计数的总和(5),并且年和月没有聚合。我使用
plyru 1.8.2
得到了
3
3
。我已经安装了plyr的最新版本,并用完全相同的代码编写。不知道发生了什么。尝试
聚合(Count~,df,FUN=sum)
库(dplyr);df%>%按(年、月)分组%>%dplyr::总结(计数=总和(计数))
库(data.table);setDT(df)[,列表(计数=总和(计数)),(年,月)]
df <- structure(list(Year = c(2000L, 2000L, 2001L, 2001L), 
Month = c("Jan", 
"Jan", "Feb", "Feb"), Count = c(1L, 2L, 2L, 1L)), .Names = c("Year", 
"Month", "Count"), class = "data.frame",
 row.names = c(NA, -4L))