2015-04-26 13 views
5

मेरे dataframe जो मैं एक csv फ़ाइल से पढ़ने के इस'।' को कैसे हटाएं डेटाफ्रेम में कॉलम नाम से?

abc.def, ewf.asd.fkl, qqit.vsf.addw.coil

तरह स्तंभ नाम मैं निकालना चाहते है '।' सभी के नाम से है और उन्हें

abcdef, eqfasdfkl, qqitvsfaddwcoil.

मैं उप आदेश sub(".","",colnames(dataframe)) उपयोग करने की कोशिश करने के लिए कनवर्ट लेकिन इस आदेश को प्रत्येक स्तंभ नाम के पहले अक्षर बाहर ले गई और स्तंभ नाम

bc.def, wf.asd.fkl, qit.vsf.addw.coil

करने के लिए बदल

कोई भी ऐसा करने के लिए एक और आदेश जानता है। मैं कॉलम नाम को एक-एक करके बदल सकता हूं, लेकिन मेरे पास प्रत्येक फ़ाइल में 30 या अधिक कॉलम वाली कई फ़ाइलें हैं।

फिर से, मैं "।" को हटाना चाहता हूं। सभी उपनामों से। मैं ऐसा करने की कोशिश कर रहा हूं इसलिए मैं "sqldf" कमांड का उपयोग कर सकता हूं, जो "।"

आपकी मदद

उत्तर

11

1) sqldf नाम उन में डॉट्स होने के साथ सौदा कर सकते हैं यदि आप के नाम बोली:

library(sqldf) 
d0 <- read.csv(text = "A.B,C.D\n1,2") 
sqldf('select "A.B", "C.D" from d0') 

दे रही है:

A.B C.D 
1 1 2 

2) जब डाटा पढ़ने read.table या read.csv का उपयोग करके check.names=FALSE तर्क का उपयोग करें।

की तुलना करें:

Lines <- "A B,C D 
1,2 
3,4" 
read.csv(text = Lines) 
## A.B C.D 
## 1 1 2 
## 2 3 4 
read.csv(text = Lines, check.names = FALSE) 
## A B C D 
## 1 1 2 
## 2 3 4 

हालांकि, इस उदाहरण में यह अभी भी एक नाम sqldf में उद्धृत किया है, क्योंकि नाम रिक्त स्थान को एम्बेड किया है होगा छोड़ देता है।

3) बस, अवधि को निकालने के लिए यदि DF एक डेटा फ्रेम है:

या इसे अच्छे हो सकता है अंडरस्कोर में पूर्ण विराम कन्वर्ट करने के लिए इतना है कि यह प्रतिवर्ती है:

names(DF) <- gsub(".", "_", names(DF), fixed = TRUE) 

यह अंतिम पंक्ति वैकल्पिक रूप से इस तरह की जा सकती है:

names(DF) <- chartr(".", "_", names(DF)) 
4

नाम में सभी बिंदुओं, जो केवल पहली घटना का स्थान ले लेगा आप बल्कि उप से, gsub का उपयोग करना होगा बदलने के लिए के लिए धन्यवाद।

यह काम करना चाहिए।

test <- data.frame(abc.def = NA, ewf.asd.fkl = NA, qqit.vsf.addw.coil = NA) 
names(test) <- gsub(".", "", names(test), fixed = TRUE) 
test 
    abcdef ewfasdfkl qqitvsfaddwcoil 
1  NA  NA    NA 
संबंधित मुद्दे