Пакет Quantmod передает аргументы в R - PullRequest
0 голосов
/ 08 июня 2018

Я хочу построить пользовательскую функцию оценки запасов в 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()

Я также хочу иметь эти значения по умолчанию.Однако, когда я запускаю функцию (как показано в коде), я не получаю ответа - вообще ничего.Что я делаю неправильно?Как правильно передать эти аргументы?

Или, может быть, есть лучший способ отказаться от котировок акций?

Другими словами, я хочу, чтобы он вернул фрейм данных в глобальную среду.

Любые возможные ответы?

1 Ответ

0 голосов
/ 09 июня 2018

Используя аргумент по умолчанию auto.assign = TRUE в getSymbols, ваш вызов 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))

...