リスト内の NULL 値が時々人々をつまずかせる可能性があることは承知しています。なぜ特定のインスタンスでlapply
、値のrapply
扱いが異なるように見えるのか興味があります。NULL
l <- list(a = 1, c = NULL, d = 3)
lapply(l,is.null)
$a
[1] FALSE
$c
[1] TRUE
$d
[1] FALSE
ここまでは順調ですね。でまったく同じことをしrapply
たらどうですか?
rapply(l, is.null, how = "replace")
$a
[1] FALSE
$c
list()
$d
[1] FALSE
この例は非常に単純で再帰的ではありませんがrapply
、ネストされたリストでも同じ動作が見られます。
私の質問はなぜですか?で宣伝されているように?rapply
、それが「lapply の再帰バージョン」である場合、この場合、なぜ動作が異なるのでしょうか?