将变量作为字符传递给函数

时间:2018-07-15 21:37:32

标签: r function posixct

我很难将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))

这似乎应该是一个简单的解决方案,但回避了我。

0 个答案:

没有答案