मुझे पता है कि सूचियों में नल मूल्य कभी-कभी 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
में विज्ञापित के रूप में, यह 'लापरवाही का एक पुनरावर्ती संस्करण' है, तो वे इस मामले में इतनी अलग तरीके से क्यों व्यवहार करते हैं?
+1 यह इंगित करने के लिए कि 'नूल' खाली 'पार्लिस्ट' है। तो ऐसा लगता है जैसे आप कह रहे हैं कि 'rapply'' NULL' और 'pairlist()' के बीच अंतर नहीं कर सकता (या नहीं)। – joran
@ जोरान 'समान (पार्लिस्ट(), न्यूल) ':) – Owen