2016-09-25 48 views
0

我有一个.csv 1,052,640行。每一行是2年(2014年7月1日至2016年6月30日)一分钟时间序列分析:如何在R中创建帧

基于R 1分钟间隔内的活性的读数,我输入该数据到像这样一个数据帧:

uri = 'summary.csv' 
df.visits <- read.csv(uri, header=FALSE) 
names(df.visits) <- c("DateTime", "Visits") 
df.visits <- data.frame(df.visits) 
head(df.visits) 

与输出

   DateTime Visits 
1 7/1/2014 12:00:00 AM  0 
2 7/1/2014 12:01:00 AM  0 
3 7/1/2014 12:02:00 AM  0 

我想那个数据帧推到一个时间序列的结构是这样的:

ts.visits <- ts(df.visits,frequency=525960, start=c(2014,7,1)) 
head(ts.visits) 

和输出是:

DateTime Visits 
[1,] 788041  0 
[2,] 788043  0 
[3,] 788045  0 
[4,] 788047  0 

我的问题 - 是525960正确的值用于频率?如果有闰年会发生什么?日期时间值('788041')是否正确?我想根据一天中的时间,一周中的某一天和一年中的月份进行季节性分析。

回答

1

在R中,ts对象用于固定季节期的时间序列。如果你想考虑一个事实,即由于闰年在一年内有不同的秒数,你必须使用别的东西。包装xts是任意观察时间的替代方案。

此外,在您的TS列的DateTime对象(实际上,MTS)不是倍对象内部使用。他们被视为另一个时间序列的观察。实际时间可以通过时间获得(ts.visits)。