【发布时间】:2021-09-13 23:54:59
【问题描述】:
考虑以下列表。 这个列表(在本例中命名为“list1”)包含三个命名向量“A”、“B”和“C”。这些向量中的每一个都有两列,它们总是被命名为“一”和“二”:
> list1
$A
one two
2005.015 1339.938
$B
one two
1.0000075 0.1815634
$C
one two
-66264.148352 -2.868802
假设我想从向量“B”中获取“二”列的值。我知道如何做到这一点的三种方法:
list1[[2]][[2]]
list1$B[[2]]
list1[[2]]$two
但是,这不是获得该值的方法:
list1$B$two
有没有办法只使用列名而不是列索引来获取这个值?
【问题讨论】:
-
如果您认为我对那些不是框架的内容不正确,请edit 您的问题并粘贴来自
dput(nested_df)的输出(就像我在回答中所做的那样)。谢谢! -
您对它们是列表的看法是对的,我编辑了我的问题以遵循您使用的术语。
-
它仍然不是嵌套列表,只是一个带有向量的列表。在 R 中,向量和列表之间存在差异,如何按名称对其进行子集化就是其中之一。
-
注意到并添加到问题中 - 对命名混乱感到抱歉。在我的脑海中,我对待所有这些事情的方式都非常相似。
-
每种编程语言对列表/向量/表格/帧/数组/矩阵的处理方式略有不同,学习新语言的部分挑战是了解新语言与您的理解和假设有何不同。跨度>