[英]How do I subset a list in R by every 3 indices?
I have a list
which has 500 elements, but I want to get every 3rd element and save it to a variable. 我有一个包含500个元素的
list
,但是我想获取每个第3个元素并将其保存到变量中。 So I'd want list[1]
, list[4]
, list[7]
, list[10]
and etc saved to one variable. 所以我想将
list[1]
, list[4]
, list[7]
, list[10]
等保存到一个变量中。
I tried sub.list <- list[1:500, by = 3]
but this doesn't work. 我尝试了
sub.list <- list[1:500, by = 3]
但这不起作用。
L <- as.list(1:500) # create a list
L[seq(1, length(L), 3)]
# or, use recycling
L[c(TRUE, FALSE, FALSE)]
尝试这个:
sub.list<-myList[seq_along(myList)%%3==1]
You can also use Filter: 您还可以使用过滤器:
L <- as.list(1:500) # create a list
Filter(function(i) {i %% 3 == 1},seq_along(L))
But won't work if you have NA's. 但是,如果您有NA,就行不通。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.