【发布时间】:2022-01-05 11:03:31
【问题描述】:
我有一个包含两个矩阵的列表。我想找到每个矩阵的平均值,仅使用唯一值并排除矩阵中的 0。有什么好办法吗?
mat1.data <- c(0,6,3,8,0,6,8,10,0)
mat1 <- matrix(mat1.data,nrow=3,ncol=3,byrow=TRUE)
mat2.data <- c(0,5,5,1,0,1,7,23,0)
mat2 <- matrix(mat2.data,nrow=3,ncol=3,byrow=TRUE)
mat1 <- list(mat1, mat2)
【问题讨论】:
-
mean( unique( mat[ mat!=0] ) ) 用于一个这样的矩阵,只需将 lapply 与执行此操作的匿名函数一起使用。