这是我正在运行的代码
library(quantmod)
library(tseries)
Stocks={}
companies=c("IOC.BO","BPCL.BO","ONGC.BO","HINDPETRO.BO","GAIL.BO")
for(i in companies){
Stocks[i]=getSymbols(i)
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试获取从中获取的数据帧列表getSymbols以存储在Stocks. 问题是getSymbols直接将数据帧保存到全局环境仅保存列表中Stocks的字符。companies
如何将全局环境中的数据框保存到列表中?
如有任何帮助,我们将不胜感激..提前致谢!
另一种选择是lapply
library(quantmod)
Stocks <- lapply(companies, getSymbols, auto.assign = FALSE)
Stocks <- setNames(Stocks, companies)
Run Code Online (Sandbox Code Playgroud)
从?getSymbols
auto.assign :是否应将结果加载到 env 如果为 FALSE,则返回结果。从 0.4-0 开始,这与设置 env=NULL 相同。默认为 TRUE
使用for循环你可以做
companies <- c("IOC.BO", "BPCL.BO", "ONGC.BO", "HINDPETRO.BO", "GAIL.BO")
Stocks <- vector("list", length(companies))
for(i in seq_along(companies)){
Stocks[[i]] <- getSymbols(name, auto.assign = FALSE)
}
Stocks
Run Code Online (Sandbox Code Playgroud)