आज मैंने अंततः आर के सीधी सीखने की वक्र पर चढ़ने का फैसला किया है। मैंने कुछ घंटों बिताए हैं और मैंने अपना डेटासेट आयात करने और कुछ अन्य बुनियादी चीजें करने में कामयाब रहा, लेकिन मुझे डेटा प्रकार: में एक कॉलम है जिसमें दशमलव को पूर्णांक के रूप में आयात किया जाता है, और रूपांतरणों को डबल में बदलने के लिए मान ।सीएसवी फ़ाइल आयात करने/पूर्णांक से कनवर्ट करने में समस्याएं
यहाँ एक उदाहरण मुझे पता चला कि समस्या केवल तब होता है जब डेटा फ़ाइल बहुत बड़ी है के रूप में डाल करने के लिए एक छोटा सा csv फ़ाइल प्राप्त करने की कोशिश में (अपने मूल फ़ाइल एक मैट्रिक्स 12 से 1,048,418 है, लेकिन फिर भी "केवल के साथ "5000 पंक्तियों में मुझे एक ही समस्या है। जब मेरे पास केवल 100, 1000 या 2000 पंक्तियां होती हैं तो कॉलम को डबल के रूप में सही तरीके से आयात किया जाता है)।
Here एक छोटा डेटासेट (अभी भी 500kb है, लेकिन फिर, यदि डेटासेट छोटा है तो समस्या को दोहराना नहीं है)। कोड
है> ex <- read.csv("exampleshort.csv",header=TRUE)
> typeof(ex$RET)
[1] "integer"
क्यों है रिटर्न के स्तंभ पूर्णांक के रूप में जब फ़ाइल बड़ी है, जब यह स्पष्ट रूप से प्रकार की दोहरी है आयात किया जा रहा?
सबसे बुरी बात यह है कि अगर मैं इसे दोगुना करने के लिए बदलने की कोशिश, मूल्यों बदल रहे हैं
> exdouble <- as.double(ex$RET)
> typeof(exdouble)
[1] "double"
> ex$RET[1:5]
[1] 0.005587 -0.005556 -0.005587 0.005618 -0.001862
2077 Levels: -0.000413 -0.000532 -0.001082 -0.001199 -0.0012 -0.001285 -0.001337 -0.001351 -0.001357 -0.001481 -0.001486 -0.001488 ... 0.309524
> exdouble[1:5]
[1] 1305 321 322 1307 41
यह केवल स्तंभ हैं जो गलत आयात किया जाता है नहीं है, लेकिन मैं समझ है कि अगर मैं के लिए एक समाधान खोजने के एक कॉलम, मैं दूसरे को सॉर्ट करने में सक्षम होना चाहिए।
> sapply(ex,class)
PERMNO DATE COMNAM SICCD PRC RET RETX SHROUT VWRETD VWRETX EWRETD EWRETX
"integer" "integer" "factor" "integer" "factor" "factor" "factor" "integer" "numeric" "numeric" "numeric" "numeric"
वे इस क्रम में होना चाहिए:: यहाँ कुछ और जानकारी है पूर्णांक, तिथि, स्ट्रिंग, पूर्णांक, डबल, डबल, डबल, पूर्णांक, डबल, डबल, डबल, डबल (प्रकार शायद गलत कर रहे हैं, लेकिन उम्मीद है कि आपको मेरा मतलब मिल जाएगा)
@Xu वांग: पहली छमाही काम नहीं करेगा।इसे पहले 5 हजार अवलोकनों में काटकर, मेरे डेटा का 1% से भी कम, पहले से ही समस्याएं पैदा करता है ... – Vivi
खेद है कि मैंने अपनी टिप्पणी पूरी नहीं की क्योंकि मैं गया और 'read.csv' मदद पढ़ी। मैं जो कहना चाहता था वह था कि मैंने सोचा कि शायद कुछ अजीब मूल्य थे जो 'आर' उलझन में थे। इसलिए मैंने सोचा कि यह बड़ा या छोटा नहीं है बल्कि बड़े डेटासेट में उन भ्रमित पात्रों या मूल्यों में से एक है। क्या इसका कोई मतलब है? यदि नहीं, तो इससे कोई फर्क नहीं पड़ता। मुझे लगता है कि समाधान colClasses तर्क का उपयोग करना है। –
@Xu वैंग मैं समझता हूं कि आप क्या कह रहे हैं, लेकिन मुझे अभी भी पूरी तरह से यकीन नहीं है कि मेरी समस्या का समाधान कैसे करें। मैं colClasses तर्क का उपयोग कैसे करूं? क्या आप collasses तर्क का उपयोग करके इस फ़ाइल को सही तरीके से आयात करने के लिए मुझे एक लाइन कमांड दे पाएंगे? – Vivi