我想在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()
我也希望拥有这些默认值。但是,当我运行该函数时(如代码所示),我没有得到任何答案 - 什么都没有。我究竟做错了什么?如何正确传递这些论点?
或许还有更好的方法来报废股票报价?
换句话说,我希望它将数据框返回到全局环境。
任何可能的答案?
答案 0 :(得分:1)
通过在// you need to initialize qwert[0]
qwert[0] = new String[t];
for(int j = 0; j < t; j++)
{
qwert[0][j] = arr[j];
}
中使用默认参数auto.assign = TRUE
,您的getSymbols
调用将GOOGL数据传递到函数内的环境中,并将字符串名称“GOOGL”分配给您的变量{ {1}}(不是数据),默认为getSymbols
预期。
请改为尝试:
stock1
getSymbols
是一个xts对象,但您可以轻松将其转换为data.frame,如下所示:
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()