如何将结果保存到具有各种名称的各种data.frames中

如何将结果保存到具有各种名称的各种data.frames中,r,quantmod,R,Quantmod,我有以下向量: USTickers=c("BAC","C","JPM","HBS","WFC","GS","MS","USB","BK","PNC") 实际上我的向量长得多,但我只是把它缩短了。这个向量有股票的股票代码名 我使用quantmod从雅虎下载股票数据 因为我不打算为每个特定的股票代码编写函数,所以我想做一个循环。 首先,我想使用一个函数getSymbols,这不是问题。下载特定股票的对象 但是我想对它做一些调整并保存它。然后我有一个问题(for-in循环的第二行)。我想要一个变量名

我有以下向量:

USTickers=c("BAC","C","JPM","HBS","WFC","GS","MS","USB","BK","PNC")
实际上我的向量长得多,但我只是把它缩短了。这个向量有股票的股票代码名

我使用quantmod从雅虎下载股票数据

因为我不打算为每个特定的股票代码编写函数,所以我想做一个循环。 首先,我想使用一个函数
getSymbols
,这不是问题。下载特定股票的对象

但是我想对它做一些调整并保存它。然后我有一个问题(for-in循环的第二行)。我想要一个变量名。保存对象的名称必须更改。但我无法做到这一点

for (i in 1:(length(USTickers))) {
  getSymbols.yahoo(paste(USTickers[i]),.GlobalEnv,from=StrtDt,to=EndDt)
  as.symbol(USTickers[i]=data.frame(time(get(USTickers[1])),get(USTickers[1])[,4],row.names=NULL)
}
在成瘾方面:

在我下载的每个股票对象中,都有一个列名,格式为
“AAL.Open”
,我想将其更改为
“AAL”
。我该如何更改列名

我知道可以用
colnames
函数来完成,但我不知道如何使操作自动化

因为第一部分“AAL”将不断变化,我只想去掉
”。打开“
部分


基本上,我可以用一个股票代码名重写它,但我不知道如何在列名发生变化时应用它,我计划将我的vector
USTickers

作为参考,最好使用getSymbols函数关闭自动赋值,并将结果存储在列表中。以后可以很容易地访问这些元素。有关一些想法,请参见下文

require(quantmod)

# Not going to loop through all
USTickers = c("BAC","C")#,"JPM","HBS","WFC","GS","MS","USB","BK","PNC")

# Initialise empty list
mysymbols <- vector("list", length(USTickers))

# Loop through symbols
for (i in 1:length(USTickers)) {
  # Store in list
  mysymbols[[i]] <- getSymbols.yahoo(paste(USTickers[i]),auto.assign = F)

  # Isolate column of interest and date
  mysymbols[[i]] <- data.frame(time(mysymbols[[i]]), 
                               mysymbols[[i]][,4],
                               row.names = NULL)

  # Change list elements name to symbol
  names(mysymbols)[i] <- USTickers[i]
}
但是,如果您只想使该列名称成为自动代码,您也可以直接在循环中这样做
colnames(mysymbols[[i]])[2]
gsub(".Open", "", "AAL.Open")