【问题标题】:"looping" and subsetting list elements in RR中的“循环”和子集列表元素
【发布时间】:2016-10-11 20:13:43
【问题描述】:

我在 R 列表中有一个向量列表,使得列表的每个位置都包含 3 列,例如:

d[[1]]
   lon lat pr
1 -70  10  0
2 -70   9  0
3 -70   8  0
4 -70   7  0
5 -70   6  0
6 -70   5  0

d[[2]]
   lon lat   pr
1 -70  10 0.48
2 -70   9 0.00
3 -70   8 0.00
4 -70   7 0.00
5 -70   6 0.00
6 -70   5 0.16

等等……

我想获取列表中所有向量的第 1、第 3 和第 6 个位置,并将其存储在另一个列表或数据框中,例如

list[[1]]
   lon lat pr
1 -70  10  0
3 -70   8  0
6 -70   5  0

list[[2]]
   lon lat pr
1 -70  10 0.48
3 -70   8 0.00
6 -70   5 0.16

等等……

我尝试了一些 lapply 和衍生物但没有成功。除了遍历所有索引值之外,还有更直接的方法吗?

提前致谢。

【问题讨论】:

    标签: r lapply sapply


    【解决方案1】:

    使用lapply

    > lapply(mylist, function(x) x[c(1,3,6),])
    [[1]]
      lon lat pr
    1 -70  10  0
    3 -70   8  0
    6 -70   5  0
    
    [[2]]
      lon lat   pr
    1 -70  10 0.48
    3 -70   8 0.00
    6 -70   5 0.16
    

    【讨论】:

    • 工作就像一个魅力!非常感谢@Jilber!
    猜你喜欢
    • 1970-01-01
    • 2019-04-08
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    • 2021-07-22
    • 2021-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多