Как переименовать возвращаемые данные из getSymbols? - PullRequest
0 голосов
/ 24 мая 2019

Я хотел бы спросить, могу ли я переименовать данные результата, чтобы я мог сделать:

С

getSymbols("N225", from="1950-01-01")
head(N225)

К

xx = getSymbols("N225", from="1950-01-01")
head(xx)

Я задал этот вопрос, потому что я хотел бы загрузить некоторые данные с именем символа в виде числа.

data.env <- new.env()
getSymbols("0005.HK", env=data.env)
ls.str(data.env)

0005.HK : An 'xts' object on 2007-01-02/2019-05-23 containing:
  Data: num [1:3058, 1:6] 143 144 145 144 142 ...
 - attr(*, "dimnames")=List of 2
  ..$ : NULL
  ..$ : chr [1:6] "0005.HK.Open" "0005.HK.High" "0005.HK.Low" "0005.HK.Close" ...
  Indexed by objects of class: [Date] TZ: UTC
  xts Attributes:
List of 2
 $ src    : chr "yahoo"
 $ updated: POSIXct[1:1], format: "2019-05-24 23:14:45"

Большое спасибо.

Ответы [ 2 ]

3 голосов
/ 24 мая 2019

С ?getSymbols:

Data is loaded silently without user assignment by default.

К счастью, это предполагает (и аргументы поддерживают это) возможность отключить эту функцию:

env               where to create objects. Setting env=NULL is equal
                  to auto.assign=FALSE

auto.assign       should results be loaded to env If FALSE, return
                  results instead. As of 0.4-0, this is the same as
                  setting env=NULL. Defaults to TRUE

где ключевым утверждением является «вернуть результаты вместо» .

Любое из следующих действий должно возвращать данные вместо использования в качестве побочного эффекта:

xx <- getSymbols("N225", from="1950-01-01", env=NULL)
xx <- getSymbols("N225", from="1950-01-01", auto.assign=FALSE)
1 голос
/ 24 мая 2019

Вы можете сделать это в цикле, похожем на предложенный выше.

prices <- list()
for(i in 1:length(tickers)) {
  getSymbols(tickers[i], adjusted = TRUE, output.size = "full")

  prices[[i]] <- get(tickers[i]) 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...