我有一个简单的问题。假设我有一个长度为500的列表Obj
logL = rep(NA, length(Obj))
for(i in 1: length(Obj)){
logL[i] = Obj[[i]]$logL
}
我的问题是如何提取每个Obj的logL以避免像这样的for循环?
{{1}}
有没有办法用sapply或像plyr这样的高级软件包来做到这一点?我对解决方案持开放态度,因为它比for循环更快,因为我需要在MCMC中执行此操作,并且列表的长度可以是3000,因此我更喜欢快速方法。
提前致谢!
答案 0 :(得分:5)
如果你只是想把它变成一个矢量,那就应该这样做。无需申请。
unlist(Obj)
答案 1 :(得分:2)
您可以为此目的使用apply组功能。这是一个教程 http://www.r-bloggers.com/using-apply-sapply-lapply-in-r/
sapply(obj, function(x) x$logL )