1

我正在寻找一个像这里包含的数据系列:

http://robjhyndman.com/tsdldata/roberts/beards.dat

...并将其加载到 R 中的动物园时间序列对象中。没有日期信息表,但它列出了它是常规的、年度的,并且从 y=1866 开始。这就是我正在尝试的...

beard <- read.zoo('http://robjhyndman.com/tsdldata/roberts/beards.dat', 
header=FALSE, 
index.column=0,
start="1866-01-01",
format="%Y", 
skip=4)

它主要工作,但忽略了 zooreg 的“开始”参数。

所以,我有一个很好的解决方案来读取这个,然后像这样更改索引......

index(beard) <- as.Date(paste(seq(1866,1911, by=1),'-01-01',sep=''), format="%Y-%m-%d")

...但是如果有一个论点read.zoo()让我在一个电话中做到这一点,这将更加巧妙。我错过了它,还是一个两步问题?

4

1 回答 1

5

像这样指定一个自定义FUN=

URL <- 'http://robjhyndman.com/tsdldata/roberts/beards.dat'
toDate <- function(x) as.Date(as.yearmon(x) + 1865)
beard <- read.zoo(URL, index = 0, skip = 4, FUN = toDate)
于 2012-05-24T03:38:32.097 回答