首页 > 解决方案 > 获取一段时间内的变量均值

问题描述

我的分析受阻

我有一个像这样的数据集:

日期
2019-02-15 01:00:00 0.134
2019-02-15 02:00:00 0.345
2019-02-15 03:00:00 0.567
2019-02-15 04:00:00 0
2019-02-15 05:00:00 0.100
... ...
2019-03-10 15:00:00 0.890
... ...

这是一个包含大量日期的大型数据集。而且我正在尝试获得不同时间段的光平均值:日平均值;5天平均值;1 周平均值(过去 4 天 + 今天;过去 6 天 + 今天和每日平均值)

我想要的结果就像这个数据集:

日期 timeperiod_5days timeperiod_1week timeperiod_24h

我尝试使用不同的功能:timeAverage;xts。但我无法得到任何结果,我不知道它们是否适合我想要的。

有人知道我如何获得我的结果吗?

提前致谢 !

标签: rdataframedatetimetimeperiod

解决方案


我不确定你期望得到什么结果。您有可以共享的部分或全部代码吗?

我有一些东西可以作为一个开始。

data = read.csv(file = "data",header = T,sep = ",")
data$Date = as.POSIXct(data$Date , format = "%Y-%m-%d %H:%M:%S" ) #to make date as date in R 
data$Day = format(data$Date,"%Y-%m-%d") #to extract only the day

# Aggregation
tab_A  = aggregate(x=data[,-c(1,2,3)], by=list(A=data$Day), FUN=mean , na.rm = T) # Whith that you can get the daily mean of your data base

如果您找到一种方法来通过周数描述 R 中的“周”,例如,您可以按周汇总每年。

至于过去 4 天 + 今天,您可以像这样简单:

mean(data$Light[(length(data$Light)-5):length(data$Light)])

推荐阅读