【发布时间】:2020-07-09 19:04:28
【问题描述】:
【问题讨论】:
-
请编辑此问题,以便您有一个最小的可重现示例。不要使用图像。还请解释您是如何尝试做您想做的,哪些没有奏效。确保您已阅读 ?read.zoo。
-
我已经在我的回答中的注释中为您完成了,但下次请按照r标签顶部的说明进行发布。
-
很抱歉我的帖子格式,我是R的初学者,谢谢你的回答!
【问题讨论】:
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
由于日期似乎是每月一次,因此另一种方法是通过将 FUN=as.yearmon 参数添加到 read.zoo 来使用 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")
【讨论】: