listからNULLな要素を取り除くときのメモ

自分用メモ。ついついこういうのを検索しちゃうわけですが、

R Remove NULL elements from list of lists - Stack Overflow

そもそもこんなリストをつくらない方が良くて、

list(a = 1, b = NULL)
#> $a
#> [1] 1
#> 
#> $b
#> NULL

いちいち代入すれば気にしなくて問題ない。

x <- list()
x$a <- 1
x$b <- NULL
x
#> $a
#> [1] 1

↓みたいな関数をつくらざるを得ない時は仕方ないけど、

function(...) {
   list(...)
}

ちょっと長くなってもこんな風にやる方が確実。たぶん。

function(a = NULL, b = NULL) {
   x <- list()
   x$a <- a
   x$b <- b
   x
}