在下面的伪代码中,我不知道如何识别?未知?我意识到y具有资产指向的符号的名称。符号的对象存储在环境中。我需要通过变量访问对象。
library(quantmod)
x<-c("IBM","GOOG","AAPL")
for (asset in x)
{
y <- getSymbols(asset, src = "yahoo",from = startDate,to = endDate,auto.assign=FALSE)
mydf <- convert ?unknown? to data frame
mydf$time <- time(?unknown?)
#process mydf
#store results in another data frame
}
#display results
答案 0 :(得分:0)
我会创建一个存储变量的新环境。
library(quantmod)
x<-c("IBM","GOOG","AAPL")
e = new.env()
getSymbols(x, src = "yahoo",from = startDate,
to = endDate,auto.assign=FALSE,env=e)
然后,要在新环境中处理变量,您可以使用eapply
:
mydf <- eapply(e,function(asset){
})
答案 1 :(得分:0)
使用auto.assign=F
时,它们不会分配给环境变量(这是一种不推荐使用的行为)。现在你得到一个类“xts”的对象。你可以做到
library(quantmod)
startDate <- as.Date("2014-01-01")
endDate <- as.Date("2014-01-10")
x<-c("IBM","AAPL")
dfall<-NULL
for (asset in x)
{
y <- getSymbols(asset, src = "yahoo",
from = startDate,to = endDate,auto.assign=FALSE)
mydf <- as.data.frame(y)
names(mydf)<-c("Open","High","Low","Close","Volume","Adjusted")
mydf$symbol <- asset
mydf$time <- time(y)
if(is.null(dfall)) {
dfall<-mydf
} else {
dfall<-rbind(dfall, mydf)
}
}
dfall