我有一个名为good的列表,我想计算每个向量中两个值之间的差异。
good[1:2]
[[1]]
[1] 8 16 28 38 53
[[2]]
[1] 1 7 9 16 40
所以我会得到另一个清单
good_dif1[1:2]
[[1]]
[1] 8 12 10 15
[[2]]
[2] 6 2 7 24
如果我想要将NA插入第一个值,我该怎么做?
所以我会得到另一个清单
good_dif2[1:2]
[[1]]
[1] NA 8 12 10 15
[[2]]
[2] NA 6 2 7 24
答案 0 :(得分:5)
使用lapply
good <- list(c(NA,1,10,30,40), c(NA,3,4,5,10,20))
lapply(good, diff)
第二部分,
lapply(good, function(x)c(NA, diff(x)))
或
Map(c, NA, lapply(good, diff))
希望能帮助。
答案 1 :(得分:1)
> good <- list(c(8, 16, 28, 38, 53), c(1, 7, 9, 16, 40))
> good_dif1 <- lapply(good, diff)
> good_dif2 <- lapply(good_dif1, function(x) append(NA, x))
> good_dif2
## [[1]]
## [1] NA 8 12 10 15
## [[2]]
## [1] NA 6 2 7 24