2

我有一个数据框(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

谢谢你的帮助。

4

1 回答 1

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

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

于 2013-08-27T15:34:13.730 回答