0

我有df(A)14 列和 1356 行的数据框。我有这个功能,用于为每 12 行应用一个总和,如移动平均线:

rollapply(A,width=12, FUN= sum,by.column=T) 

但在每 12 行中,我需要对 应用乘法exp(n/12),其中n 的数字是从 0 到 11。综合起来,结果可能是:

rollapply(A,FUN=1°row *exp(0/12)+2°row*exp(2/12)....+12°row*exp(11/12),by.column=T) 

逻辑上每 12 行重复一次操作。是否可以将其应用于函数rollapply或我需要编写一个循环for

4

1 回答 1

1

您只需要更新您的功能:

n = 12
rollapply(A, width=n, FUN=function(x) sum(x*exp((seq(n)-1)/n)))
于 2016-01-19T10:31:22.853 回答