【发布时间】:2011-08-24 03:57:53
【问题描述】:
我知道列表中的 NULL 值有时可以trip 人。我很好奇为什么在特定情况下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 的递归版本”,为什么在这种情况下它们的行为如此不同?
【问题讨论】: