数组列表的差异

时间:2019-02-15 11:41:31

标签: r

假设x是一个数组列表。

a <- array(1,c(2,3,4));
b <- array(2,c(2,3,4));
c <- array(3,c(2,3,4));

x <- list(a=a,b=b,c=c)

我想要的输出是以下数组:

   array(var(c(1,2,3)),c(2,3,4))

这与下一页相同,但是将总和更改为差异。

参考:Sum a list of arrays


编辑@akrun的评论

谢谢@akrun。 他的回答如下:

    apply(
     array(unlist(x),append( dim(x[[1]]), length(x) )  ),
     1:length(dim(x[[1]])),
     var
)

其中x是以下数组列表:

a <- array(1,c(2,3,4));
b <- array(2,c(2,3,4));
c <- array(3,c(2,3,4));
d <- array(4,c(2,3,4));
x <- list(a=a,b=b,c=c,d=d)

1 个答案:

答案 0 :(得分:2)

一个选择是unlist list,创建array并使用apply获得var iance

apply(array(unlist(x), c(2, 3, 4, 3)), 1:3, var)