我知道列表中的 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 的递归版本”,为什么在这种情况下它们的行为如此不同?