数据
我有一个列表列表,看起来像这样:
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)
但那不起作用.
布朗尼点警报!
如何找到新创建的矩阵列表的平均值?
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)