मैं एक वर्ग मैट्रिक्स बनाने के लिए आर कोड लिख रहा हूँ। तो मेरी दृष्टिकोण है:आर, न्यूल बनाम एनए में मैट्रिक्स आवंटित करने का सबसे अच्छा तरीका?
- मेरी मैट्रिक्स के प्रत्येक तत्व के माध्यम से सही आकार
- लूप के एक मैट्रिक्स का आवंटन और एक उचित मूल्य
मेरा प्रश्न के साथ इसे भरने है वास्तव में सरल: क्या है इस मैट्रिक्स को पूर्व-आवंटित करने का सबसे अच्छा तरीका? इस प्रकार अब तक, मैं दो तरीके हैं:
> x <- matrix(data=NA,nrow=3,ncol=3)
> x
[,1] [,2] [,3]
[1,] NA NA NA
[2,] NA NA NA
[3,] NA NA NA
या
> x <- list()
> length(x) <- 3^2
> dim(x) <- c(3,3)
> x
[,1] [,2] [,3]
[1,] NULL NULL NULL
[2,] NULL NULL NULL
[3,] NULL NULL NULL
जहां तक मैं देख सकता हूँ, पूर्व उत्तरार्द्ध की तुलना में एक अधिक संक्षिप्त तरीका है। इसके अलावा, पूर्व एनएएस के साथ मैट्रिक्स भरता है, जबकि बाद में एनयूएलएल से भरा होता है।
ऐसा करने के लिए "बेहतर" तरीका कौन सा है? इस मामले में, मैं "बेहतर" को "बेहतर प्रदर्शन" के रूप में परिभाषित कर रहा हूं, क्योंकि यह सांख्यिकीय कंप्यूटिंग है और यह ऑपरेशन बड़े डेटासेट के साथ होगा।
जबकि पूर्व अधिक संक्षिप्त है, यह समझने में आसान नहीं है, इसलिए मुझे लगता है कि यह किसी भी तरह से जा सकता है।
इसके अलावा, आर में एनए और न्यूल के बीच क्या अंतर है? ? NA और? NULL मुझे बताओ कि "एनए" की लंबाई "1" है जबकि न्यूल की लंबाई "0" है - लेकिन क्या यहां और कुछ है? या एक सर्वोत्तम अभ्यास? यह मेरी मैट्रिक्स बनाने के लिए उपयोग की जाने वाली विधि को प्रभावित करेगा।
नहीं पूछा गया है, आप अपने मैट्रिक्स के तत्वों पर * लूप * क्यों चाहते हैं? क्या यह संभव है कि आप इसके बजाय वेक्टरकृत ऑपरेशन का उपयोग कर सकें? यह आपका अगला प्रश्न होना चाहिए! :) – Harlan
@ हर्लान जो मूल रूप से मुझे यहां इस प्रश्न में मिल रहा है: http://stackoverflow.com/questions/1719447/outer-equivalent-for-non-vector-lists-in-r। यदि आपके पास कोई सुझाव है, तो मुझे यह सुनना अच्छा लगेगा! – poundifdef