数据
我有一个看起来像这样的列表:
sublist1 <- list(power=as.matrix(c(rnorm(10)),c(rnorm)),x=rnorm(10),y=rnorm(10))
sublist2 <- list(power=as.matrix(c(rnorm(10)),c(rnorm)),x=rnorm(10),y=rnorm(10))
sublist3 <- list(power=as.matrix(c(rnorm(10)),c(rnorm)),x=rnorm(10),y=rnorm(10))
mylist = list(sublist1,sublist2,sublist3)
我的目标是只提取名为
power
的矩阵。我试过了
mylist_power =mylist[sapply(mylist, '[', 'Power')]
但那是行不通的。
布朗尼点警报!!!
如何找到新创建的名为 power 的矩阵列表的平均值?
最佳答案
mylist_power <- sapply(mylist, '[', 'power')
和一些手段:
sapply(mylist_power, mean) # one per matrix
sapply(mylist_power, colMeans) # for each column and each matrix
sapply(mylist_power, rowMeans) # for each row and each matrix
mean(unlist(mylist_power)) # for the whole list
Reduce(`+`, mylist_power) / length(mylist_power) # element-wise
关于r - 子集列出与列表名称相同的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35783342/