我无法正确使用diff
和lead/lag
包中的dplyr
与apply
功能相结合 - 它会不断产生NA
或NaN
。例如,我使用上一期间的百分比变化(diff
),但包含diff
和lead/lag
的所有公式都会共享此问题。
library(plyr)
library(dplyr)
#training data frame
mydat=data.frame(matrix(c(1:10,11:20),nrow=10,ncol=2))
#example apply code
apply(mydat[1],1,function(x) c( NA, diff(x)/x[-length(x)]))
在这种情况下,结果是:
[1] NA NA NA NA NA NA NA NA NA NA
这里有什么问题?我刚开始使用apply
代替for
。