我有一个数据框,其中包含ID列、日期列(每个ID有12个月份)和23个数字变量。我想要获得每个ID内每个月的百分比变化率。为了获得百分比变化率,我使用quantmod包。
以下是仅包含三列的示例(为简单起见):
ID Date V1 V2 V3
1 Jan 2 3 5
1 Feb 3 4 6
1 Mar 7 8 9
2 Jan 1 1 1
2 Feb 2 3 4
2 Mar 7 8 8
我尝试使用dplyr和summarise_each函数,但没有成功。 更具体地说,我尝试了以下内容(train是数据集的名称):
library(dplyr)
library(quantmod)
group1<-group_by(train,EXAMID)
foo<-function(x){
return(Delt(x))
}
summarise_each(group1,funs(foo))
我也尝试使用dplyr中的do函数,但也没有成功(今晚运气不佳!)。
我认为问题在于Delt函数。当我用sum函数替换Delt函数时:
foo<-function(x){
return(sum(x))
}
summarise_each(group1,funs(foo))
结果是每个ID的每个变量都会按日期进行汇总。那么如何计算每个ID的月度百分比变化?
gather
已被pivot_longer
所取代。 - ESELIA