R中不等长度列表的平均值

pse*_*ler 3 r list mean dataframe

我有不等长的矢量列表.我想要的是平均值.在每个指数.例如:

a = c(2,3,4)
b = c(2,3,4,5) 
c = c(5,0,3,4,6)

avg(a,b,c) = c(9/3, 6/3, 11/3, 9/2, 6/1)
Run Code Online (Sandbox Code Playgroud)

如何在R中实现这一目标?

akr*_*run 7

我们可以将向量放在a list,pad NA中,用于具有较少元素数量的列表元素并执行rowMeans

lst <- list(a, b, c)
rowMeans(sapply(lst, `length<-`, max(lengths(lst))), na.rm=TRUE)
#[1] 3.000000 2.000000 3.666667 4.500000 6.000000
Run Code Online (Sandbox Code Playgroud)

数据

a <- 2:4
b <- 2:5
c <- c(5, 0, 3, 4, 6)
Run Code Online (Sandbox Code Playgroud)