我有一个名为 good 的列表,我想计算每个向量中两个值之间的差异。

good[1:2]
[[1]]
 [1]    8   16   28   38   53
[[2]]
 [1]    1    7    9   16   40

所以我会得到另一个 list
good_dif1[1:2]
[[1]]
 [1] 8 12 10 15
[[2]]
 [2] 6 2 7 24

如果我想在第一个值中插入一个 NA,我该怎么做?

所以我会得到另一个 list
good_dif2[1:2]
[[1]]
 [1] NA 8 12 10 15
[[2]]
 [2] NA 6 2 7 24

最佳答案

使用 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))

希望有帮助。

关于R:处理list,计算每个元素值的差值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22494395/

10-12 02:29