首页 > 解决方案 > 标题:将变量值传递给 R 中的函数

问题描述

提前感谢您的帮助。我正在运行一个函数,并尝试在将调用 .xts 表的函数中的一些命名分配中使用变量值。

PassValue <- function(dfX) {
    start <- as.Date("2019-01-01")
    end <- as.Date("2020-10-01")
    dfNew = paste0("A1_",dfX)
    assign( dfNew ,getSymbols( Symbols = dfX, src='yahoo',from = start, to = end, auto.assign=FALSE ),envir = .GlobalEnv)
    weeklyReturn(dfNew)
}

当我调用函数... PassValue("GS") 时,它返回以下内容:

PassValue("GS")
Error in try.xts(x) : 
  Error in UseMethod("as.xts") :   no applicable method for 'as.xts' applied to an object of class "character"
Called from: try.xts(x)

再次感谢您的帮助。

标签: r

解决方案


不确定符号“A1_GS”应该返回什么,但您的分配函数需要是每周返回()的价格的命名对象。

PassValue <- function(dfX) {
    start <- as.Date("2019-01-01")
    end <- as.Date("2020-10-01")
    dfNew = paste0("A1_",dfX)
    dat_val<-assign( dfNew ,getSymbols( Symbols = dfX, src='yahoo',from = start, to = end, auto.assign=FALSE ),envir = .GlobalEnv)
    weeklyReturn(dat_val)
}

推荐阅读