मेरे पास एक सूची है (आर में) जहां तत्व अलग-अलग डेटा प्रकार हैं, उदाहरण के लिए, पहला तत्व संख्यात्मक है और दूसरा तत्व वर्ण है। मैं प्रत्येक तत्व को एक अलग समारोह लागू करना चाहता हूं। उदाहरण के लिए, नीचे दिए गए कोड में मैं केवल पहले तत्व में योग फ़ंक्शन को लागू करने का प्रयास करता हूं और लंबाई केवल दूसरे तत्व के लिए कार्य करता हूं। क्या सूची के प्रत्येक तत्व (सूची को तोड़ने के बिना) पर एक अलग फ़ंक्शन लागू करने का कोई तरीका है?आर सूची के प्रत्येक तत्व के लिए lapply अलग फ़ंक्शन
data <- list(
A = rnorm(10),
B = letters[1:10]
)
lapply(data, list(sum, length))
mapply(function(x) sum, length, data)
आप कर सकते थे 'do.call' के साथ कुछ ऐसा करें, लेकिन आपको सूचियों की सूची होने के लिए थोड़ा 'डेटा' समायोजित करना होगा। – joran
... दिलचस्प बात यह है कि (तर्क को रीसायकल करने की आवश्यकता को अनदेखा करना) बस 'फॉर लूप' लिखना जो प्रत्येक कार्य को बदले में ~ 5x गुना तेज करता है। – joran
लूप के लिए अच्छी तरह से लिखा गया है आमतौर पर मेरे अनुभव में तेज़ होते हैं, हालांकि आमतौर पर गति इतनी बड़ी नहीं होती है। – MrFlick