我有一个带有 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 的百分比如何逐月变化呢?