Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.3k views
in Technique[技术] by (71.8m points)

detect empty lists in R

i am calculating some values which are stored in a list and the list is appended to an alredy existing list, called results. In some cases the calculation returns TRUE. In that case i want to remove the element that returned TRUE from the list:

my_list
$`0`
[1] TRUE

$`1`
[1] TRUE


my_list = lapply(list(my_list), function(x){Filter(Negate(isTRUE), x)})
> my_list
[[1]]
named list()

This return an empty list. Now i want to check:

  • if the list is empty - do nothing
  • if the list is not empty append it to results

The problem is that when i check

length(my_list) >0
[1] TRUE

How can i detect if a list is empty?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

We can use lengths to get the logical output for each list element

my_list[lengths(my_list) > 0]

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...