2015-10-05 77 views
1

我有一个包含逻辑的列表列表TRUE/FALSE。我如何只提取包含TRUE值的列表?R.从逻辑列表中提取列表

这里是我的名单:

jorgelist 
# [[1]] 
# [1] FALSE FALSE FALSE FALSE FALSE TRUE FALSE 
# 
# [[2]] 
# [1] FALSE FALSE FALSE FALSE TRUE FALSE FALSE 
# 
# [[3]] 
# [1] FALSE FALSE FALSE TRUE 
+2

目前还不清楚你想要提取什么。看起来这只是一个列表而不是列表的列表。 – akrun

+0

所以其逻辑向量的列表> STR(jorgelist)的49 $ 列表:洛吉[1:7] FALSE FALSE FALSE FALSE FALSE TRUE ... $:洛吉[1:9] FALSE FALSE FALSE FALSE TRUE FALSE ... $:logi [1:2] FALSE FALSE $:logi [1:4] FALSE FALSE FALSE FALSE FALSE FALSE TRUE $:logi [1:8] 1:2] FALSE FALSE – Jorge

+0

基于输入数据 – akrun

回答

4

如果我们想在list元素基于any真值逻辑向量,

i1 <- sapply(jorgelist, any) 

vector可以用来提取元素另一个list相同length

anotherlst[i1] 
+1

由于用户要求提取列表,因此我添加了: list.TRUE < - jorgelist [sapply(jorgelist,any)] – maRtin

+1

@maRtin我确实发布了它作为评论早些时候,但OP似乎想要一个“TRUE/FALSE”向量是的 – akrun

+0

是的,我需要使用这个新的列表从等长的另一个列表中只提取TRUE。 – Jorge