मैंने अपने कॉलम नामों में question about this a few months back से पूछा, और मैंने सोचा कि जवाब ने मेरी समस्या हल कर दी है, लेकिन मैं फिर से समस्या में भाग गया और समाधान मेरे लिए काम नहीं करता था।एक्स। आर डेटा फ्रेम
मैं एक CSV आयात करने हूँ:
orders <- read.csv("<file_location>", sep=",", header=T, check.names = FALSE)
यहाँ dataframe की संरचना है:
str(orders)
'data.frame': 3331575 obs. of 2 variables:
$ OrderID : num -2034590217 -2034590216 -2031892773 -2031892767 -2021008573 ...
$ OrderDate: Factor w/ 402 levels "2010-10-01","2010-10-04",..: 263 263 269 268 301 300 300 300 300 300 ...
अगर मैं पहले कॉलम पर length
आदेश चला, OrderID, मैं इस मिल:
length(orders$OrderID)
[1] 0
यदि मैं ऑर्डरडेट पर length
चलाता हूं, तो यह सी देता है orrectly:
length(orders$OrderDate)
[1] 3331575
यह एक कॉपी/CSV
की head
का पेस्ट है।
OrderID,OrderDate
-2034590217,2011-10-14
-2034590216,2011-10-14
-2031892773,2011-10-24
-2031892767,2011-10-21
-2021008573,2011-12-08
-2021008572,2011-12-07
-2021008571,2011-12-07
-2021008570,2011-12-07
-2021008569,2011-12-07
अब, अगर मैं फिर से चलाने के read.csv
, लेकिन check.names
विकल्प बाहर ले, dataframe
का पहला स्तंभ अब नाम के शुरू में एक एक्स है।
orders2 <- read.csv("<file_location>", sep=",", header=T)
str(orders2)
'data.frame': 3331575 obs. of 2 variables:
$ X.OrderID: num -2034590217 -2034590216 -2031892773 -2031892767 -2021008573 ...
$ OrderDate: Factor w/ 402 levels "2010-10-01","2010-10-04",..: 263 263 269 268 301 300 300 300 300 300 ...
length(orders$X.OrderID)
[1] 3331575
यह सही ढंग से काम करता है।
मेरा प्रश्न है कि R
पहले कॉलम नाम की शुरुआत के लिए एक्स जोड़ें। जैसा कि आप सीएसवी फ़ाइल से देख सकते हैं, कोई विशेष वर्ण नहीं हैं। यह एक साधारण भार होना चाहिए। check.names
जोड़ना, जबकि सीएसवी से नाम आयात करेगा, डेटा को विश्लेषण करने के लिए मेरे लिए सही ढंग से लोड नहीं होगा।
इसे ठीक करने के लिए मैं क्या कर सकता हूं?
साइड नोट: मुझे एहसास है कि यह एक नाबालिग है - मैं इस तथ्य से और अधिक निराश हूं कि मुझे लगता है कि मैं सही ढंग से लोड कर रहा हूं, फिर भी मुझे उम्मीद नहीं मिल रही है। मैं colnames(orders)[1] <- "OrderID"
का उपयोग कर कॉलम का नाम बदल सकता हूं, लेकिन अभी भी जानना चाहता हूं कि यह सही तरीके से क्यों लोड नहीं होता है।
क्या आप निम्न आउटपुट काट और पेस्ट कर सकते हैं uts: 'सिर (ऑर्डर)' & 'हेड (ऑर्डर 2)'? –
मैं वास्तविक कच्ची सीएसवी फ़ाइल देखने के लिए उत्सुक हूं। क्या आप इसे कहीं पोस्ट कर सकते हैं और एक लिंक प्रदान कर सकते हैं ताकि हम इसे डाउनलोड कर सकें और इस व्यवहार को पुन: उत्पन्न करने का प्रयास कर सकें। जो भी समस्या है, मेरा अनुमान है कि उत्तर सटीक संरचना और फ़ाइल की सामग्री में निहित है। – joran
मुझे आदेशों का str नहीं मिलता है लेकिन फिर 'लंबाई (ऑर्डर $ ऑर्डर आईडी) [1] 0' –