क्या कोई कारण है कि मुझे इसका उपयोग करना चाहिए
map(<list-like-object>, function(x) <do stuff>)
के बजाय
lapply(<list-like-object>, function(x) <do stuff>)
आउटपुट समान होना चाहिए और मेरे द्वारा बनाए गए बेंचमार्क यह दिखाते हैं कि lapply
यह थोड़ा तेज़ है (यह map
सभी गैर-मानक-मूल्यांकन इनपुट का मूल्यांकन करने की आवश्यकता होनी चाहिए )।
तो क्या कोई कारण है कि ऐसे साधारण मामलों के लिए मुझे वास्तव में स्विच करने पर विचार करना चाहिए purrr::map
? मैं यहाँ वाक्य रचना के बारे में किसी की पसंद या नापसंद के बारे में नहीं पूछ रहा हूँ, purrr आदि द्वारा प्रदान की गई अन्य कार्यक्षमताएं, लेकिन मानक मूल्यांकन का उपयोग करने के purrr::map
साथ तुलना करने के बारे में सख्ती से । क्या प्रदर्शन, अपवाद से निपटने आदि के संदर्भ में कोई लाभ है ? नीचे दी गई टिप्पणियां बताती हैं कि ऐसा नहीं है, लेकिन हो सकता है कि कोई व्यक्ति थोड़ा अधिक विस्तार कर सके?lapply
map(<list-like-object>, function(x) <do stuff>)
purrr::map
~{}
शॉर्टकट लैम्ब्डा (के साथ या बिना {}
सादे के लिए मेरे लिए सौदा सील purrr::map()
। के प्रकार प्रवर्तन purrr::map_…()
काम और कम कुंठित से कर रहे हैं vapply()
। purrr::map_df()
एक सुपर महंगा समारोह है, लेकिन इसे को सरल बनाने के कोड। वहाँ आधार आर के साथ चिपके हुए के साथ कुछ भी नहीं गलत बिल्कुल है [lsv]apply()
, हालांकि ।
purrr
सामान का उपयोग नहीं करूंगा । मेरी बात निम्नलिखित है: tidyverse
विश्लेषण / इंटरैक्टिव / रिपोर्ट सामान के लिए शानदार है, प्रोग्रामिंग के लिए नहीं। यदि आप उपयोग कर रहे हैं lapply
या map
फिर आप प्रोग्रामिंग कर रहे हैं और पैकेज बनाने के साथ एक दिन समाप्त हो सकता है। फिर कम निर्भरता सबसे अच्छा। प्लस: मैं कुछ समय map
बाद काफी अस्पष्ट वाक्यविन्यास के साथ लोगों को देखता हूं । और अब जब मैं प्रदर्शन परीक्षण देखता हूं: यदि आप apply
परिवार के अभ्यस्त हैं: तो उससे चिपके रहें।
tidyverse
, तो आप पाइप%>%
और बेनामी फ़ंक्शंस~ .x + 1
सिंटैक्स