函数可以仅应用于 ddply 中日期字段的某些月/年组合吗?我想通过指定月/年来计算平均值(以及其他函数)。
monthlySummary <- ddply(tempData, .(Date, SiteID, SubstrateID), summarize, monthlyMean=mean(Temp_C))
不确定您所说的“仅某些月/年组合”是什么意思,所以也许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")
。