символьная переменная как параметр функции - PullRequest
0 голосов
/ 26 марта 2011

часть моего кода для загрузки финансовых данных:

library(quantmod)

tickers <- c("XOM", "DIS")
stock1 <- getSymbols(tickers[1], from="2010-03-01", to="2011-02-28", auto.assign=F)
stock2 <- getSymbols(tickers[2], from="2010-03-01", to="2011-02-28", auto.assign=F)

pair <- merge(Ad(stock1), Ad(stock2), all=F)             # 'xts' object, merge adjusted close
pair.DF <- data.frame(pair)                              #  data frame

Но я хочу вызвать функцию следующим образом:

tickers <- function(x, y) {
stock1 <- getSymbols(x, from="2010-03-01", to="2011-02-28", auto.assign=F)
stock2 <- getSymbols(y, from="2010-03-01", to="2011-02-28", auto.assign=F)

pair <- merge(Ad(stock1), Ad(stock2), all=F)            
pair.DF <- data.frame(pair)       
}

А затем:

tickers("XOM", "DIS")

Или что-то подобное.Но то, что я получаю, это плохой результат.В этом случае «x» и «y» не числовые, а символьные.Вроде бы легко, но .. Спасибо за любые предложения.

1 Ответ

1 голос
/ 26 марта 2011
tickers <- function(x, y) {
stock1 <- getSymbols(x, from="2010-03-01", to="2011-02-28", auto.assign=F)
stock2 <- getSymbols(y, from="2010-03-01", to="2011-02-28", auto.assign=F)

pair <- merge(Ad(stock1), Ad(stock2), all=F)            
pair.DF <- data.frame(pair)       
return(pair.DF)
}

У меня работает, пока вы возвращаете пару. Д.Ф. в конце. Это твоя проблема?

Я не думаю, что проблема в классе персонажей:

class(tickers[1])==class("XOM")
TRUE
...