2012-07-22 6 views
6

Sto importando un csv di dati di magazzino in R, con nomi di colonne di ticker di serie che iniziano con il numero e contengono spazio all'interno, ad es. "5560 JP". Dopo aver letto in R, i nomi delle colonne vengono aggiunti con "X" e lo spazio sostituito da ".", Ad es. "X5560.JP". Dopo che tutti i lavori sono stati eseguiti in R, voglio scrivere i dati elaborati su un nuovo csv, ma con il nome della colonna originale, ad es. "5560 JP" invece di "X5560.JP", come posso farlo?R - i nomi delle colonne in read.table e write.table iniziano con il numero e contengono lo spazio

Grazie!

+1

Chiamate il vostro 'df' variabile, provate questo nome (df)' Ryogi

+4

c'è un argomento' check.names' su 'read.table' che ignorerebbe il cambio di nome, penso. Potresti riuscire a salvare quei nomi e usarli subito prima dell'esportazione finale. – baptiste

+0

Grazie per quello – Joyce

risposta

19

Quando si utilizza write.csv o write.table per salvare i dati in un file CSV, è possibile impostare i nomi delle colonne in base alle proprie esigenze impostando l'argomento col.names.

Ma questo presuppone che i nomi delle colonne siano disponibili. Una volta letti i dati e R ha convertito i nomi, hai perso tali informazioni. Per aggirare il problema, è possibile sopprimere la conversione per ottenere i nomi delle colonne: - "\\"

df <- read.csv("mydata.csv", check.names=FALSE) 
orig.cols <- colnames(df) 
colnames(df) <- make.names(colnames(df)) 

[your original code] 

write.csv(df, col.names=orig.cols) 
+0

Bello, grazie mille !!! – Joyce

Problemi correlati