【问题标题】:How to get the element of a list with the same name?如何获取具有相同名称的列表元素?
【发布时间】:2013-03-25 04:46:51
【问题描述】:

我想创建一个名称可能重复的对象列表。例如:

l <- list("a"=1:4, "a"=2:3, "b"=1)

现在我想获取名称为“a”的 l 元素(在本例中为 l[1] 和 l[2])。有没有什么简洁的方法可以代替遍历名称(l)?谢谢。

【问题讨论】:

  • 如果有人窥探并询问最终目标是什么,您会感到被冒犯吗?
  • @RicardoSaporta 我的目标是创建一个树结构来保存分层数据。并且某些节点的名称可以重复。您有比列表列表更好的主意吗?谢谢。

标签: r


【解决方案1】:

您可以为此使用基本子集:

> l[names(l) == "a"]
$a
[1] 1 2 3 4

$a
[1] 2 3

(顺便说一下,l 是一个很时髦的字符,可以单独用于脚本,因为它很容易被误解为 1)。

【讨论】:

  • 有一个here be dragons 警告,重复名称是非标准的,您不能指望extract 按名称功能始终如一地工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-15
  • 1970-01-01
  • 2017-03-15
  • 2020-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多