【发布时间】:2018-11-28 17:12:46
【问题描述】:
在 R 中,我有一个列表,由 12 个子列表组成,每个子列表由 5 个子列表组成,如下所示
在本例中,我想为每个子列表提取信息“MSD”。
我可以使用
提取每个级别的“统计信息”lapply(letters, '[[', "statistics")
效果很好。它给了我包含在子列表“统计”中的所有值,对于每个列表 但是,我想再降低一层,因为我对其他数据不感兴趣,例如 MSerror、Df、..... 只有 MSD
我试过了
lapply(letters, '[[', "statistics", "MSD")
还有许多其他人没有成功。
如果我只想要第一个子列表,它将与
letters[[1]][["statistics"]][["MSD"]]
但是,我必须这样做:
letters[[1]][["statistics"]][["MSD"]]
letters[[2]][["statistics"]][["MSD"]]
letters[[3]][["statistics"]][["MSD"]]
我想暂时避免。
感谢您的帮助。
【问题讨论】:
-
我忘了说,我看到了获取子列表的帖子。但不是关于如何降低一层,并获得“子子列表”
-
如果 'MSD' 始终存在,您也可以使用 for 循环,因此您将拥有
letters[[i]][["statistics"]][["MSD"]]