如何计算来自多个列表的向量的平均值?
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)
的另一种方式
我有几个包含向量的列表,我想获得一个列表,其中元素是初始列表向量的平均向量。
示例:两个初始列表
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)