15
我知道列表中的NULL值有時可以由trip人起來。我很好奇爲什麼在一個特定的例子lapply
和rapply
似乎對待NULL
值不同。爲什麼rapply和lapply以不同的方式處理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
中所宣稱的那樣,它是'遞歸版本',爲什麼它們在這種情況下表現得如此不同呢?
+1指出'NULL'是一個空的'pairlist'。所以這聽起來像你說'rapply'不能(或不會)區分'NULL'和'pairlist()'。 – joran
@joran'相同(pairlist(),NULL)':) – Owen