R:用 ts() 润滑给出错误的日期
R: lubridate with ts() gives wrong date
我正在处理来自 FRED 的一些数据,我尝试将数据转换为每周观察的时间序列。我使用以下代码:
library(quantmod)
library(lubridate)
getSymbols('WALCL',src='FRED')
assets <- ts(WALCL, frequency = 365.25/7, end = decimal_date(ymd("2020-07-15")))
但是结束日期始终设置为 2021 年而不是 2020 年 7 月 15 日,开始日期设置为 2003 年而不是 2002 年。当我改为指定开始日期时,也会发生同样的事情。当我尝试同时指定两者时,出现错误 Error in attr(data, "tsp") <- c(start, end, frequency) : invalid time series parameters specified
.
我是否遗漏了一些明显的东西,或者我下载的数据或 lubridate
是否有错误?
尝试
decimal_date(ymd("2020-07-15")) == max(time(assets))
你会得到安慰TRUE
。在您的环境中,您看到的是 2021 年,但我认为这是一个四舍五入的问题。如果你用 end = decimal_date(ymd("2020-05-15"))
构建你的时间序列,2021 年就消失了,对吧?
我正在处理来自 FRED 的一些数据,我尝试将数据转换为每周观察的时间序列。我使用以下代码:
library(quantmod)
library(lubridate)
getSymbols('WALCL',src='FRED')
assets <- ts(WALCL, frequency = 365.25/7, end = decimal_date(ymd("2020-07-15")))
但是结束日期始终设置为 2021 年而不是 2020 年 7 月 15 日,开始日期设置为 2003 年而不是 2002 年。当我改为指定开始日期时,也会发生同样的事情。当我尝试同时指定两者时,出现错误 Error in attr(data, "tsp") <- c(start, end, frequency) : invalid time series parameters specified
.
我是否遗漏了一些明显的东西,或者我下载的数据或 lubridate
是否有错误?
尝试
decimal_date(ymd("2020-07-15")) == max(time(assets))
你会得到安慰TRUE
。在您的环境中,您看到的是 2021 年,但我认为这是一个四舍五入的问题。如果你用 end = decimal_date(ymd("2020-05-15"))
构建你的时间序列,2021 年就消失了,对吧?