如何在列表中获取具有相同名称的元素以避免R中的循环

Cry*_*tal 0 r list sapply

我有一个简单的问题.假设我有一个长度为500的Obj列表

Obj[[1]], Obj[[2]], ....Obj[[500]], #for each Obj[[i]], it has an element 
Obj[[i]]$logL, 
Run Code Online (Sandbox Code Playgroud)

我的问题是如何提取每个Obj的logL以避免像这样的for循环?

logL = rep(NA, length(Obj))
for(i in 1: length(Obj)){
   logL[i] = Obj[[i]]$logL
}
Run Code Online (Sandbox Code Playgroud)

有没有办法用sapply或像plyr这样的高级软件包来做到这一点?我对解决方案持开放态度,因为它比for循环更快,因为我需要在MCMC中执行此操作,并且列表的长度可以是3000,因此我更喜欢一些快速方法.

提前致谢!

Avi*_*ash 5

如果你只想把它变成一个矢量,那就应该这样做.无需申请.

unlist(Obj)
Run Code Online (Sandbox Code Playgroud)