【问题标题】:R fastest way to get values from list as vector [duplicate]R从列表中获取值作为向量的最快方法[重复]
【发布时间】:2015-04-01 12:36:01
【问题描述】:

在R中,给出一个列表

l1 <- list(a = "A", b = "B", c = "C")

和一个向量

v<- c("a", "c")

如何从向量列表中获取元素?例如

l1[v] 

返回一个列表,而我需要一个向量作为

c("A", "C")

寻找最快的 单线

【问题讨论】:

  • 尝试unlist(l1[v],use.names=F) 删除名称。
  • 尝试unlist(l1[v])@nrussel 您的第一个解决方案不适用于l1 &lt;- list(a = c("A","A1"), b = "B", c = "C")
  • 请提供一些速度测试并将它们作为答案。
  • @d.putto,您可以通过microbenchmarkrbenchmark 包自己快速测试它们...

标签: r dictionary


【解决方案1】:

你可以试试这个,类似于@ColonelBeauvel

identical(as.vector(unlist(l1[v])), c("A", "C"))
[1] TRUE

【讨论】:

  • 因此: as.vector(unlist(l1[v])) 和 unlist(l1[v],use.names=F) 都是有效的解决方案。它们都产生长度为 2 的字符原子数组。
猜你喜欢
  • 2013-08-29
  • 1970-01-01
  • 2013-01-31
  • 2018-09-21
  • 1970-01-01
  • 2011-12-29
  • 2015-12-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多