我在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和衍生物但没有成功。除了循环遍历所有索引值之外,还有更简单的方法吗?
提前致谢。
答案 0 :(得分:2)
使用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