R:如何将移动平均值应用于数据框中的列子集?

时间:2013-08-27 15:15:58

标签: r dataframe subset

我有一个数据帧(training.set),它是对83个变量的150次观察。我想用一些移动平均线转换其中82列。问题是结果最终只有150个数值(即1列)。

如何在数据中单独应用每列的移动平均功能并保持第83列不变?我觉得这很简单,但我找不到解决方案。

我当前的代码

# apply moving average on training.set data to 82 of 83 rows
library(TTR)  #load TTR library for SMA functions
ts.sma <- SMA(training.set[,1:82], n = 10)
ts.sma

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

apply(training.set[,1:82], 2, SMA, n=10)

请注意,这会将data.frame转换为矩阵 - 如果您需要输出为data.frame,请将其包装在data.frame(...)中。