आर में कैसे ठीक करें: डुप्लिकेट 'row.names' की अनुमति नहीं है
R में आपके सामने एक त्रुटि आ सकती है:
Error in read.table(file = file, header = header, sep = sep, quote = quote, : duplicate 'row.names' are not allowed
यह त्रुटि आमतौर पर तब होती है जब एक CSV फ़ाइल को R में पढ़ने का प्रयास किया जाता है जिसमें हेडर लाइन को छोड़कर फ़ाइल की प्रत्येक पंक्ति के अंत में अल्पविराम होता है।
यह ट्यूटोरियल सटीक रूप से बताता है कि इस त्रुटि को कैसे ठीक किया जाए।
त्रुटि को पुन: उत्पन्न कैसे करें
मान लें कि हमारे पास my_data.csv नामक निम्नलिखित CSV फ़ाइल है:
ध्यान दें कि हेडर लाइन को छोड़कर फ़ाइल में प्रत्येक पंक्ति के अंत में अल्पविराम हैं।
अब मान लीजिए कि हम इस फ़ाइल को R में आयात करने का प्रयास करते हैं:
#attempt to import CSV into data frame
df <- read. csv (' my_data.csv ')
Error in read.table(file = file, header = header, sep = sep, quote = quote, :
duplicate 'row.names' are not allowed
हमें एक त्रुटि प्राप्त होती है क्योंकि फ़ाइल में हेडर लाइन को छोड़कर प्रत्येक पंक्ति के अंत में अल्पविराम होते हैं, जिससे आर को लगता है कि मानों का पहला कॉलम लाइन नाम है।
चूँकि दो पंक्तियों का बीज मान समान है (4), आर को लगता है कि पंक्ति के नाम डुप्लिकेट हैं।
त्रुटि को कैसे ठीक करें
इस त्रुटि को ठीक करने का तरीका फ़ाइल आयात करते समय केवल row.names=NULL का उपयोग करना है:
#import CSV file into data frame
df <- read. csv (' my_data.csv ', row.names =NULL)
#view data frame
df
row.names column1 column2 column3
1 4 5 7 NA
2 4 2 1 NA
3 7 9 0 NA
हम CSV फ़ाइल को सफलतापूर्वक आयात करने में सक्षम हैं, लेकिन कॉलम नाम गलत हैं।
इस समस्या को हल करने के लिए, हम कॉलम नाम बदल सकते हैं और फिर अंतिम कॉलम हटा सकते हैं:
#modify column names
colnames(df) <- colnames(df)[2: ncol (df)]
#drop last column
df <- df[1:( ncol (df)-1)]
#view updated data frame
df
column1 column2 column3
1 4 5 7
2 4 2 1
3 7 9 0
डेटा फ़्रेम अब सही प्रारूप में है.
संबंधित: R में ncol फ़ंक्शन का उपयोग कैसे करें
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि आर में अन्य सामान्य त्रुटियों को कैसे हल किया जाए:
आर में कैसे ठीक करें: नाम पिछले नामों से मेल नहीं खाते
आर में कैसे ठीक करें: लंबी वस्तु की लंबाई छोटी वस्तु की लंबाई का गुणज नहीं है
आर में कैसे ठीक करें: कंट्रास्ट केवल 2 या अधिक स्तरों वाले कारकों पर लागू किया जा सकता है