将函数计算列添加到数据框列表

Adding Function Calculated Column to List of Data Frames

我已经通过使用带有 quantmod 包的循环开始了我的 R 学习。本质上,我循环遍历股票符号向量以从 Yahoo 下载 csv 数据,然后应用 SMA(sma10 <- SMA(data[c('Adj.Close')],n=10) 函数向数据添加一列,最后将数据附加到之前的 运行 个股票,创建一个非常大的数据框。

我认为这是非常低效的,并且最近发现创建一个数据帧列表,我相信这会更有效率。但是我很难理解如何将计算的 SMA 列复制到列表中每个数据帧的每一行。我认为它需要使用 lapply,或类似的应用函数之一,但我就是想不通。

我无法正确理解您的问题。如果要向列表中的所有数据框添加一列,可以这样做

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

一个可重现的例子会有所帮助