问题描述
我有以下矩阵列表。每个季节下列出了 5 个矩阵:
list(all_seasons = list(structure(c(0L,1L,0L,2L,17L,3L,5L,19L,11L,24L,8L,4L,13L,0L),.Dim = c(9L,87L)),structure(c(0L,16L,20L,10L,27L,12L,23L,18L,6L,21L,9L,30L,15L,25L,87L))),dry_rainy = list(structure(c(0L,1L),.Dim = c(2L,11L)),2L
),structure(c(1L,11L
)),2L),11L))))`
我正在尝试为一个季节内的每个矩阵创建和应用一个函数。该函数使用 computeModules
计算模块化。 computeModules 的输出是一个类 S4。我需要从列表中所有矩阵的输出中提取 Slot "liklihood"
。
以下是所需输出和输出结构的示例,对列表中前两个季节的 5 个矩阵进行了子集化:
library("bipartite")
res1<-computeModules(net.nulls.r2d$all_seasons[[1]])
res1<-res1@likelihood
res2<-computeModules(net.nulls.r2d$all_seasons[[2]])
res2<-res2@likelihood
res3<-computeModules(net.nulls.r2d$all_seasons[[3]])
res3<-res3@likelihood
res4<-computeModules(net.nulls.r2d$all_seasons[[4]])
res4<-res4@likelihood
res5<-computeModules(net.nulls.r2d$all_seasons[[5]])
res5<-res5@likelihood
res6<-computeModules(net.nulls.r2d$dry_rainy[[1]])
res6<-res6@likelihood
res7<-computeModules(net.nulls.r2d$dry_rainy[[2]])
res7<-res7@likelihood
res8<-computeModules(net.nulls.r2d$dry_rainy[[3]])
res8<-res8@likelihood
res9<-computeModules(net.nulls.r2d$dry_rainy[[4]])
res9<-res9@likelihood
rES10<-computeModules(net.nulls.r2d$dry_rainy[[5]])
rES10<-rES10@likelihood
output<-data.frame(season= c(rep("all_seasons",5),rep("dry_rainy",5)),modularity= c(res1,res2,res3,res4,res5,res6,res7,res8,res9,rES10))
我尝试了以下功能但没有成功:
net.null.mod = function(nulls){
mod.list<- list()
net.null.metric <- list()
for (i in 1:length(nulls)) {
mod.list[[i]] = do.call('rbind',lapply(nulls[[i]],computeModules))
net.null.metric[[i]]= mod.list@liklihood
}
names(net.null.metric) <- webs.names
return(net.null.metric)
}
r2d.mod<-net.null.mod(net.nulls.r2d)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)