2016-04-28 156 views
-1

我已经通过使用quantmod包的循环开始了我的R学习。从本质上讲,我通过股票代码矢量循环来从雅虎下载csv数据,然后应用SMA(sma10 <- SMA(data[c('Adj.Close')],n=10)函数向数据添加一列,最后将数据附加到先前运行的股票,创建一个非常大数据框将函数计算列添加到数据帧列表中

我认为这是非常低效的,最近发现创建一个数据框列表,我相信这样会更高效。但是我很努力地理解如何复制添加计算出的SMA我想它需要使用lapply,或者其中一个类似的应用函数,但我只是无法弄清楚它。

回答

0

我无法正确理解你的问题。如果你想添加一列到所有数据在列表框,你可以这样做

List <- lapply(List,function(x) x$sma <- sma10;return(x)) 

重复的例子,将有助于

+0

我为我不清楚的问题道歉。我尽量避免问这个问题,主要是因为我无法弄清楚它的最佳表达方式,但你设法掌握了主要想法。唯一的区别是我想将这个列作为列添加到现有列表中,但我相信我可以使用'cbind'来做到这一点。谢谢! – Boone