zoo / xts假定每一列都是时间序列,而输入将它们按行排列。因此,使用末尾在Note中可重复生成的输入文件,将其作为普通数据帧读取,进行转置,然后使用read.zoo
。有关更多信息,请参见?read.zoo
和vignette("zoo-read", package = "zoo")
。
library(zoo)
DF <- read.table("myfile.dat", as.is = TRUE, strip.white = TRUE,
check.names = FALSE)
m <- t(DF)
read.zoo(data.frame(rownames(m), m))
给这个动物园对象:
A B
2010-01-01 1 3
2010-02-01 2 4
由于日期似乎是每月,所以可以通过在read.zoo中添加FUN = as.yearmon参数来使用yearmon类作为日期。 yearmon类直接表示年/月,并按日期顺序排序。
# alternative to read.zoo line
read.zoo(data.frame(rownames(m), m), FUN = as.yearmon)
给这个动物园对象:
A B
Jan 2010 1 3
Feb 2010 2 4
可复制形式的输入。 (请下次提供类似的内容。)
Lines <- "2010-01-01 2010-02-01
A 1 2
B 3 4"
cat(Lines, file = "myfile.dat")