使用相同的列表名称设置所有元素

Ted*_*sby 3 r

数据

我有一个列表列表,看起来像这样:

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)
Run Code Online (Sandbox Code Playgroud)

我的目标是仅提取名为的矩阵 power

我试过了

mylist_power =mylist[sapply(mylist, '[', 'Power')]
Run Code Online (Sandbox Code Playgroud)

但那不起作用.

布朗尼点警报!

如何找到新创建的矩阵列表的平均值?

Jul*_*ora 9

mylist_power <- sapply(mylist, '[', 'power')
Run Code Online (Sandbox Code Playgroud)

以及一些方法:

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
Run Code Online (Sandbox Code Playgroud)

  • @ user5249203,是的,但这些矩阵可能有不同的维度.此外,对于元素方面的意思,有一个矩阵列表更方便. (2认同)