如何计算不同列表中不同行之间的差异?不同的列表有不同的维度。我使用代码如下
names(ri1)
[1] "Sedol" "code" "ri" "date"
ri1<-ri1[order(ri1$Sedol,ri1$date),]
sri<-split(ri1,ri1$Sedol)
ri1$r<-as.vector(sapply(seq_along(sri), function(x) diff(c(0, sri[[x]][,3]))))
但是它显示了结果
"Error in `$<-.data.frame`(`*tmp*`, "r", value = list(c(100, 0.00790000000000646, :
replacement has 1485 rows, data has 4687655"
例如
我有三个清单
date ri 1990 1 1991 2 1992 3
date ri 1990 1 1991 2 1992 3 1993 4
date ri 1990 1 1991 2
我想要这样的结果
date ri r 1990 1 0% 1991 2 100% 1992 3 100%
date ri r 1990 1 0% 1991 2 100% 1992 3 100% 1993 4 100%
date ri r 1990 1 0% 1991 2 100%
注意:r= r(t+1)/r(t)-1