如何计算来自多个列表的向量的平均值?

How to calculate the mean of vectors from multiple lists?

我有几个包含向量的列表,我想获得一个列表,其中元素是初始列表向量的平均向量。

示例:两个初始列表

lt1 <- list(a = c(1,2,3), b = c(2,5,10))
lt2 <- list(a = c(3,4,5), b = c(4,5,2))

我想获得

lt12 <- list(a = c(2,3,4), b = c(3,5,6))

我尝试使用 lapply 和 llply,但我总是最终获得每个列表的向量的平均值。

您可以使用 Map() 将向量 cbind() 放在一起,然后在结果列表中 运行 rowMeans()

lapply(Map(cbind, lt1, lt2), rowMeans)
# $a
# [1] 2 3 4
#
# $b
# [1] 3 5 6

或者 lapply(Map(rbind, lt1, lt2), colMeans)

的另一种方式