【问题标题】:Constant subset of a variable length list for some list[[x]] in RR中某个列表[[x]]的可变长度列表的常量子集
【发布时间】:2013-10-07 10:15:27
【问题描述】:

想象以下数据:

listA
[[1]]
[1] 1 2 3 4 5 6 7
[[2]]
[1] 1 2 3 4 5 6
[[3]]
[1] 1 2 3 4 5

如何选择:

listA[[1:2]][1:4]

使用1:2 是不允许的,所以当知道存在这种选择时有什么方法可以选择这些(1:21:4 部分)?

我想退货:

listA
[[1]]
[1] 1 2 3 4
[[2]]
[1] 1 2 3 4

【问题讨论】:

  • 与你的发现有关:listA <- list(1:7, 1:5, 1:6); lapply(listA[1:2], [, 1:4)
  • "[" 是一个非常有趣的快捷方式。
  • @AnandaMahto 不确定接受哪个答案,一个使用问题的符号,另一个使用一个不错的快捷方式"["?你会怎么做?
  • 如果有,如果你找到了,我会奖励你的努力!

标签: r list subset


【解决方案1】:

您可能必须使用lapply

lapply(listA, function(x) x[1:4])

如果您的实际列表较长,您可以通过listA[1:2] 访问listA 的前两个元素。所以这应该有效:

lapply(listA[1:2], function(x) x[1:4])

【讨论】:

    【解决方案2】:

    只使用lapply 怎么样,

    R> l = list(A = 1:6, B=1:4, C = 1:5)
    R> lapply(l[1:2], "[", 1:4)
    $A
    [1] 1 2 3 4
    
    $B
    [1] 1 2 3 4
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-10
      • 2019-08-11
      • 1970-01-01
      • 2020-04-27
      • 1970-01-01
      • 1970-01-01
      • 2015-08-15
      • 2016-10-15
      相关资源
      最近更新 更多