【问题标题】:Quantmod package passing arguments in RQuantmod 包在 R 中传递参数
【发布时间】:2018-06-08 09:54:45
【问题描述】:

我想在 R 中构建一个自定义股票估值函数。我的代码是:

stock_valuation <- function(company1 = "GOOGL", start = "2018-04-01", end = "2018-06-01"){


stock1 = getSymbols(company1, src = "yahoo", from = start, to = end)  

}


stock_valuation()

我也想拥有这些默认值。但是,当我运行该函数(如代码所示)时,我没有收到任何答案 - 什么也没有。我究竟做错了什么?如何正确传递这些参数?

或者也许有更好的方法来废弃股票报价?

换句话说,我希望它将数据框返回到全局环境。

任何可能的答案?

【问题讨论】:

    标签: r function finance quantmod yahoo-api


    【解决方案1】:

    通过在getSymbols 中使用默认参数auto.assign = TRUE,您的getSymbols 调用将GOOGL 数据传递到函数内部的环境中,并将字符串名称“GOOGL”分配给您的变量stock1(不是数据),正如 getSymbols 默认情况下所期望的那样。

    试试这个:

    library(quantmod)
    stock_valuation <- function(company1 = "GOOGL", start = "2018-04-01", end = "2018-06-01"){
    
    
      stock1 = getSymbols(company1, src = "yahoo", from = start, to = end, auto.assign = FALSE)  
      stock1
    }
    
    
    res <- stock_valuation()
    

    res 是一个 xts 对象,但是你可以很容易地将它转换为 data.frame,比如这样:

    df &lt;- data.frame(time = index(res), coredata(res))

    【讨论】:

      猜你喜欢
      • 2021-05-05
      • 2016-09-14
      • 1970-01-01
      • 1970-01-01
      • 2021-08-21
      • 2021-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多