我有一个大约有200000行的大文件,我想以一种方式获取文件,我可以使用zoo包绘制文件并按日期,月份和时间截断。第一列是修改后的朱利安日期,第二列是温度。
我很感激任何帮助。 该文件看起来像:
4812663507.000000,1.76438
4812663512.000000,1.65121
4812663517.000000,1.60362
4812663522.000000,1.51509
答案 0 :(得分:1)
从评论中,时间是某种MDJ秒,因此您可以使用Gabor的提示将其转换为时间索引:
library(zoo)
z <- read.zoo("myfile.dat", sep = ",",
FUN = function(x){as.POSIXct(x,origin='1858-11-17',tz='UTC')})
1858-11-17是http://en.wikipedia.org/wiki/Julian_day
的MJD时期或者你可以指定原点并添加秒 - 从:
z <- read.zoo("myfile.dat", sep = ",",
FUN = function(x){as.POSIXct('1858-11-17',tz='UTC')+x})
然后,您似乎希望按时间以不同的粒度聚合数据:
plot(aggregate(z,cut(time(z),breaks='year' ),mean))
plot(aggregate(z,cut(time(z),breaks='quarter'),mean))
plot(aggregate(z,cut(time(z),breaks='month' ),mean))
plot(aggregate(z,cut(time(z),breaks='day' ),mean))
plot(aggregate(z,cut(time(z),breaks='hour' ),mean))
plot(aggregate(z,cut(time(z),breaks='6 min' ),mean))
plot(aggregate(z,cut(time(z),breaks='min' ),mean))
plot(aggregate(z,cut(time(z),breaks='10 sec' ),mean))
plot(aggregate(z,cut(time(z),breaks='sec' ),mean))