我有一个列表,我想删除长度为奇数的元素:
my_list <- list()
my_list$a <- c(1,2,3,4) #length 4
my_list$b <- c(1,2,3) # length 3
my_list$c <- c(5,6,7,8,6,7) #length 6
所以在上面的例子中,我想go 掉my_list$b
,因为它的长度是3,而3是奇数.
有什么建议吗?
我有一个列表,我想删除长度为奇数的元素:
my_list <- list()
my_list$a <- c(1,2,3,4) #length 4
my_list$b <- c(1,2,3) # length 3
my_list$c <- c(5,6,7,8,6,7) #length 6
所以在上面的例子中,我想go 掉my_list$b
,因为它的长度是3,而3是奇数.
有什么建议吗?
您可以使用sapply
、简单子集和模运算符%%
:
my_list[sapply(my_list, length) %% 2L == 0L]
或者更好,就像 comments 中所说的使用lengths
my_list[lengths(my_list) %% 2L == 0L]