我只想从一天中定期获取的一组值中计算出每日平均值,但是对于数据集中的多个不同日期。当我的日期是一个因素时,tapply() 很棒
> Data$Data <- as.factor(Data$Date)
> str(Data$Date)
Factor w/ 55 levels "01/05/2014","02/05/2014",..: 3 3 3 3 3 3 3 3 3 3 ...
> tapply(Data$Humidity,Data$Date, FUN = mean)
01/05/2014 02/05/2014 03/04/2014 03/05/2014 04/04/2014 04/05/2014 05/04/2014 05/05/2014 06/04/2014
99.96875 100.00000 96.65833 99.80625 84.14375 89.56042 93.75833 39.58750 87.55000
这正是我想要的,但这些日期不再按时间顺序排列,因为我已经将其作为一个因素。
相反,我尝试使用 strptime() 作为 R 识别的日期格式。从头开始......
> Data$Date<-strptime(Data$Date, format="%d/%m/%Y")
> str(Data$Date)
POSIXlt[1:2586], format: "2014-04-03" "2014-04-03" "2014-04-03" "2014-04-03" "2014-04-03" "2014-04-03" ...
> tapply(Data$Humidity,Data$Date, FUN = mean)
Error in INDEX[[i]] : subscript out of bounds
但我只是收到以下错误消息?有谁知道为什么这不起作用?