【发布时间】:2018-07-11 20:34:28
【问题描述】:
在阅读了几个关于 R 中子集列表的主题后,我试图通过在 Rstudio 中闲逛来完全掌握这个概念。我以为我理解了这个概念,直到我遇到以下情况:
x <- list(list(list(1), 2), list(list(list(3), 4), 5), 6)
为什么x[[1]] 返回一个包含两个元素的列表,而x[[1]][[1]] 也返回一个列表?
【问题讨论】:
-
您正在设置第一个列表元素,它也是一个嵌套列表
-
我不明白你在期待什么。
x[[1]]返回一个包含两个元素的列表,因为您有一个包含两个元素的列表存储在x的第一个槽中。但是每次嵌套列表的总深度都在减少。该列表在第一个插槽中存储了一个列表,因此x[[1]][[1]]返回一个列表。 (您的命令以三个嵌套的list()调用开始)。你期望得到什么?或者你想退回什么?