我有几千个距离矩阵(使用as.dist()从矩阵转换而来)并且想要计算每个矩阵元素的均值,sd,中位数等。
举例说明:
Matrix.A
1
7 1
5 2 1
Matrix.B
2
3 4
1 1 3
等...
例如,如果我想得到我能做的各个元素的总和:
Sum.Matrix <- Matrix.A + Matrix.B
Sum.Matrix
3
10 5
6 3 4
但如果我有数千个这样的矩阵怎么办?我怎样才能计算每个元素的总和,还有手段,sd等? 所有矩阵都存储在一个列表中。
答案 0 :(得分:2)
尝试
lst2 <- lapply(lst1, as.matrix)
dim1 <- sapply(lst2, dim)[,1]
l <- length(lst1)
ar1 <- array(unlist(lst2), dim=c(dim1, l))
as.dist(apply(ar1, 1:2, sum))
as.dist(apply(ar1, 1:2, mean))
as.dist(apply(ar1, 1:2, sd))
set.seed(24)
lst1 <- lapply(1:4, function(i) dist(sample(1:10,4, replace=TRUE)))