मेरे पास एक .csv-file से लिया गया डेटा फ्रेम है जिसमें संख्यात्मक और वर्ण मान शामिल हैं। मैं इस डेटा फ्रेम को एक मैट्रिक्स में परिवर्तित करना चाहता हूं। सभी युक्त जानकारी संख्याएं हैं (गैर-संख्या-पंक्तियां जिन्हें मैंने हटाया है), इसलिए डेटा फ्रेम को एक संख्यात्मक मैट्रिक्स में परिवर्तित करना संभव होना चाहिए। हालांकि, मुझे एक चरित्र मैट्रिक्स मिलता है।डेटा.फ्रेम को एक न्यूमेरिक मैट्रिक्स में कनवर्ट करने का सही तरीका, जब डीएफ में स्ट्रिंग भी होती है?
मुझे यह हल करने का एकमात्र तरीका यह है कि प्रत्येक पंक्ति के लिए as.numeric
का उपयोग करें, लेकिन यह काफी समय लेने वाला है। मुझे पूरा यकीन है कि if(i in 1:n)
-form के साथ ऐसा करने का कोई तरीका है, लेकिन मैं यह नहीं समझ सकता कि यह कैसे काम कर सकता है। या यहां वास्तव में संख्यात्मक मूल्यों से शुरू होने का एकमात्र तरीका है, जैसे यहां प्रस्तावित (Making matrix numeric and name orders)? पी
मैट्रिक्स एक बहुत बड़ा है, यह केवल पहली कुछ पंक्तियों है ... कोड यह रहा::
शायद यह आप में से अधिकांश के लिए एक बहुत आसान बात है
cbind(
as.numeric(SFI.Matrix[ ,1]),
as.numeric(SFI.Matrix[ ,2]),
as.numeric(SFI.Matrix[ ,3]),
as.numeric(SFI.Matrix[ ,4]),
as.numeric(SFI.Matrix[ ,5]),
as.numeric(SFI.Matrix[ ,6]))
# to get something like this again:
Social.Assistance Danger.Poverty GINI S80S20 Low.Edu Unemployment
0.147 0.125 0.34 5.5 0.149 0.135 0.18683691
0.258 0.229 0.27 3.8 0.211 0.175 0.22329362
0.207 0.119 0.22 3.1 0.139 0.163 0.07170422
0.219 0.166 0.25 3.6 0.114 0.163 0.03638525
0.278 0.218 0.29 4.1 0.270 0.198 0.27407825
0.288 0.204 0.26 3.6 0.303 0.211 0.22372633
धन्यवाद आप किसी भी मदद के लिए!
numerics में कनवर्ट कर रहा numerics संग्रहीत के रूप में तार वापस उन्हें जोड़ने तुच्छ है अन्य स्ट्रिंग्स को न्यूमेरिक्स में कनवर्ट करना असंभव है (जब तक कि वे कारक न हों, इस स्थिति में यह एक भयानक अभ्यास है, सांख्यिकीय रूप से)। कारकों के रूप में, आपने उनका उल्लेख नहीं किया है, लेकिन कारकों को संख्यात्मक रूप से परिवर्तित करना इस प्रश्न का एकमात्र दिलचस्प हिस्सा है। – smci