मैं आर के लिए नया हूँ मैं लापरवाही () और sapply () फ़ंक्शन का अभ्यास कर रहा था: lapply () रिटर्न सूची, और sapply () वेक्टर / मैट्रिक्स के रूप में लौटता है। अब मैं समझ नहीं पा रहा हूं कि क्यों lapply () और sapply () एक सूची के रूप में एक ही परिणाम है?
> x1 <- lapply(list(1:3, 25:29), function(x) {2*x})
> x2 <- sapply(list(1:3, 25:29), function(x) {2*x})
> x1
[[1]]
[1] 2 4 6
[[2]]
[1] 50 52 54 56 58
> x2
[[1]]
[1] 2 4 6
[[2]]
[1] 50 52 54 56 58
> str(x2)
List of 2
$ : num [1:3] 2 4 6
$ : num [1:5] 50 52 54 56 58
> mode(x2)
[1] "list"
इसके बाद, मैंने असूची () को चेक किया और यह एक वेक्टर के समान इनपुट लौटाता है। यह समझना मुश्किल है कि परिणामस्वरूप sapply () वापसी सूची प्रकार क्यों करते हैं।
धन्यवाद।
उत्तर:
जवाब के लिए 5 № 1अगर length
का list
तत्व समान नहीं हैं, sapply
इसे मैट्रिक्स पर सहारा नहीं देगा और इसका परिणाम भी होगा lapply
हम उपयोग की जांच कर सकते हैं ?sapply
तथा ?lapply
लापरवाही (एक्स, मज़ा, ...)
sapply (एक्स, मज़ा, ..., सरलीकृत = सही, उपयोग करें। नाम = TRUE)
The simplify=TRUE
एक है कि धर्मांतरित एक list
के बराबर लंबाई उत्पादन के लिए एक matrix