我有一个数据帧(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
感谢您的帮助。
答案 0 :(得分:1)
apply(training.set[,1:82], 2, SMA, n=10)
请注意,这会将data.frame转换为矩阵 - 如果您需要输出为data.frame,请将其包装在data.frame(...)
中。