如何通过每3个索引对R中的列表进行子集化?

时间:2014-09-27 21:28:09

标签: r list indexing subset

我有一个list,它有500个元素,但我希望获得每个第3个元素并将其保存到变量中。所以我希望将list[1]list[4]list[7]list[10]等保存到一个变量中。

我试过sub.list <- list[1:500, by = 3],但这不起作用。

3 个答案:

答案 0 :(得分:6)

L <- as.list(1:500) # create a list

L[seq(1, length(L), 3)]
# or, use recycling
L[c(TRUE, FALSE, FALSE)]  

答案 1 :(得分:3)

试试这个:

   sub.list<-myList[seq_along(myList)%%3==1]

答案 2 :(得分:0)

您也可以使用过滤器:

L <- as.list(1:500) # create a list
Filter(function(i) {i %% 3 == 1},seq_along(L))

但是如果你有NA的话就行不了。