0

函数可以仅应用于 ddply 中日期字段的某些月/年组合吗?我想通过指定月/年来计算平均值(以及其他函数)。

monthlySummary <- ddply(tempData, .(Date, SiteID, SubstrateID), summarize, monthlyMean=mean(Temp_C))
4

1 回答 1

3

不确定您所说的“仅某些月/年组合”是什么意思,所以也许subset是您想要的,但我想您可能会要求按月进行总结。因此,假设 Date 是 Date 类的字段:

monthlySummary <- ddply(tempData, .(format(Date, "%m" ),
                        summarize, monthlyMean=mean(Temp_C))

如果它不是 Date 类变量,也许你应该把它变成一个:

tempData$Date2 <- as.Date(tempData$Date, "%d/%m/%Y") # or your format

如果您希望按站点和基板以及月份进行,那么:

monthlySummary <- ddply(tempData,
                  .( format(Date, "%m" ), SiteID, SubstrateID), 
                   summarize, monthlyMean=mean(Temp_C))

其他日期聚合选项除了format.POSIXt 包括 package:lubridate 中的函数和 package:zoo 中支持的 'yearmon' 类。上面提供的例子将任何一年一月发生的任何事件汇总在一起。如果您希望保持年月区别,则只需将其包含在格式字符串中:format(Date, "%m-%Y")

于 2013-08-08T00:51:17.630 回答