我的数据框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
?
答案 0 :(得分:1)
您只需要更新您的功能:
n = 12
rollapply(A, width=n, FUN=function(x) sum(x*exp((seq(n)-1)/n)))