我有一个带有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
Run Code Online (Sandbox Code Playgroud)
我试图使用dplyr和summarise_each函数,但这是不成功的.更具体地说,我尝试了以下(train是数据集的名称):
library(dplyr)
library(quantmod)
group1<-group_by(train,EXAMID)
foo<-function(x){
return(Delt(x))
}
summarise_each(group1,funs(foo))
Run Code Online (Sandbox Code Playgroud)
我也尝试在dplyr中使用do函数,但我也没有成功(我猜错了!).
我认为问题是Delt功能.当我用sum函数替换Delt时:
foo<-function(x){
return(sum(x))
}
summarise_each(group1,funs(foo))
Run Code Online (Sandbox Code Playgroud)
结果是每个变量在每个ID的日期之间求和.那么每个ID的百分比变化百分比怎么样呢?