我很难将POSIXct
变量正确地传递给函数。我正在使用Quandl程序包,但我认为这并不是我的问题所特有的。
library(Quandl)
quandl_get <-
function(sym, start_date = "2017-01-01") {
require(devtools)
require(Quandl)
# create a vector with all lines
tryCatch(Quandl(c(
paste0("WIKI/", sym, ".8"), # Adj. Open
paste0("WIKI/", sym, ".9"), # Adj. High
paste0("WIKI/", sym, ".10"), # Adj. Low
paste0("WIKI/", sym, ".11"), # Adj. Close
paste0("WIKI/", sym, ".12")), # Adj. Volume
start_date = start_date,
type = "zoo"
))
}
只要使用默认开始日期,此功能就可以正常工作。
但是,如果我尝试将POSIXct变量传递给它,则会生成一个观测值为零的数据帧,表明它Quandl不喜欢该参数。
maxdate <- Sys.time() #POSIXct object - "2018-07-15 14:03:05 EST"
nextdate <- maxdate + 86400 #"2018-07-16 14:03:05 EST"
df <- quandl_get(sym = i, start_date = nextdate)
如果我尝试将POSIXct变量传递给函数,则它仍然不起作用。
maxdate <- Sys.time() #POSIXct object - "2018-07-15 14:03:05 EST"
nextdate <- maxdate + 86400 #"2018-07-16 14:03:05 EST"
df <- quandl_get(sym = i, start_date = as.character(nextdate))
这似乎应该是一个简单的解决方案,但回避了我。