Quantmod 包在 R 中传递参数
Quantmod package passing arguments in R
我想在 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()
我也想拥有这些默认值。但是,当我 运行 函数(如代码所示)时,我没有收到任何答复——什么也没有。我究竟做错了什么?如何正确传递这些参数?
或者也许有更好的方法来废弃股票报价?
换句话说,我希望它 return 数据框到全局环境。
有可能的答案吗?
通过在 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 <- data.frame(time = index(res), coredata(res))
我想在 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()
我也想拥有这些默认值。但是,当我 运行 函数(如代码所示)时,我没有收到任何答复——什么也没有。我究竟做错了什么?如何正确传递这些参数?
或者也许有更好的方法来废弃股票报价?
换句话说,我希望它 return 数据框到全局环境。
有可能的答案吗?
通过在 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 <- data.frame(time = index(res), coredata(res))