我是R的新手,并研究了几个关于时间序列和移动平均的帖子和网站,但根本无法找到一段有用的提示,在一段特殊的时间内。
我的数据是一个通过readcsv的表,其中一列中包含日期和时间,其他几列包含值。数据中的时间步长不是恒定的,因此有时为5分钟,有时为2小时。例如
2014-01-25 14:50:00, 4, 8
2014-01-25 14:55:00, 3, 7
2014-01-25 15:00:00, 1, 4
2014-01-25 15:20:24, 12, 34
2014-01-25 17:19:00, 150, 225
2014-01-25 19:00:00, 300, 400
2014-01-25 21:00:00, NA, NA
2014-01-25 23:19:00, 312, 405
所以我寻找一个
的平均图我已经尝试了
aggregate(list(value1=data$value1,value2=data$value2), list(time=cut(data$time, "1 hour")), sum)
但这不符合需求1和3,并且无法分解2小时的数据步骤。
答案 0 :(得分:0)
回答第3点:plot
会自动跳过NA
个值并中断该行。
试试这个例子:
plot(c(1:5,NA,NA,6:10),t='l')
现在,如果您想纯粹出于图形目的而“平滑”或平均时间间隔,最简单的方法是先将每行的数据与NA
分开,然后进行样条或其他平滑处理分别对每个小节进行操作。