1
我有一個有多列和多行的數據幀。數據基於11年的月度觀測數據。現在我想根據過去12個月的觀察數據來計算每列的總和。例如,05年1月的總和列是基於其從04年1月到04年12月的觀察結果。而05年2月則基於2004年2月至05年1月的觀測結果,依此類推。我的原始數據框有10年的數據和月數據。 我說明我的數據幀的一部分,如下所示:基於R中的時間段的數據幀列總和
df1
Month A B C
Jan-04 0.003 0.006 NA
Feb-04 0.003 0.002 NA
Mar-04 -0.005 -0.001 NA
Apr-04 0.000 0.000 NA
May-04 0.000 -0.002 NA
Jun-04 -0.001 -0.001 NA
Jul-04 -0.001 -0.001 NA
Aug-04 -0.010 NA NA
Sep-04 0.001 NA NA
Oct-04 0.002 NA NA
Nov-04 -0.003 NA NA
Dec-04 -0.003 NA NA
Jan-05 0.005 -0.002 NA
Feb-05 -0.0015 0.004 0.0003
Mar-05 -0.0041 0.002 0.0070
期望得到的數據幀
Month A B C
Jan-05 -0.013 0.004 NA
Feb-05 -0.011 -0.004 NA
Mar-05 -0.0151 -0.0014 0.0003
已經嘗試過任何東西或者搜索過類似的問題嗎? –
@ danas.zuokas我有,但不幸的是沒有任何類似於我提出的tge scenerio。 – Aquarius
試試'library(zoo); library(data.table); na.omit(setDT(df1)[,lapply(.SD,function(x)lag(rollapply(x,12,function(x)sum(x,na.rm = TRUE)))),.SDcols = A: C])' – akrun