使用exp函数对R中的行进行Rollapply

时间:2016-01-19 09:55:05

标签: r dataframe rollapply

我的数据框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

1 个答案:

答案 0 :(得分:1)

您只需要更新您的功能:

n = 12
rollapply(A, width=n, FUN=function(x) sum(x*exp((seq(n)-1)/n)))