嵌套列表

时间:2017-04-18 17:03:28

标签: r

我有一个包含q = 50项的p = 100个元素的嵌套列表。我想做所有第一个元素的平均值,然后是所有第二个元素的平均值和所有第三个元素的平均值,依此类推。例如,p = 2且q = 3。我需要的结果是一个列表或数据框,其中包含lll [[1]][[1]][[2]] [[1]]的元素的平均值,然后是[[1]] [[2]][[2]][[2]],然后是[[1]][[3]]和{{ 1}}将是[[2]] [[3]](1+1)/2 ,(2+2)/2 = (1,2)(3+3)/2,(4+4)/2=(3,4)

(5+5)/2,(6+6)/2=(5,6)

1 个答案:

答案 0 :(得分:1)

一个选项,

rowMeans(do.call(cbind, lapply(lll, function(i) do.call(rbind, i))))
#[1] 1 2 3 4 5 6

或者不同的演示文稿,

matrix(rowMeans(do.call(cbind, lapply(lll, function(i) 
                                   do.call(rbind, i)))), ncol = length(lll), byrow = TRUE)
#     [,1] [,2]
#[1,]    1    2
#[2,]    3    4
#[3,]    5    6