2016-04-28 2 views
1

Ich habe eine Menge von CSV-Dateien mit Doppel-Header wie unten. (Dies ist nur ein Teil davon, und beide Header enthalten wichtige Informationen) Wie kann ich die ersten beiden Zeilen der CSV-Datei kombinieren, um eine einzelne Zeile des Headers zu erhalten? (E.g.Life.expectancy.at.birth..years..1Female)2 Zeilen der Header in R von csv

Life.expectancy.at.birth..years..1 Life.expectancy.at.birth..years..2 
1        Female        Male 
2         62         61 
3         61         58 
4         56         54 
5         50         49 
6         76         73 

Antwort

2

es zweimal gelesen und die Header zusammen fügen. Für die zweite Lesegrenze die Anzahl der gelesenen Zeilen, da wir wirklich nur den Header benötigen.

# in next 2 lines replace text=Lines with something like "myfile" 
DF <- read.table(text = Lines, header = TRUE, skip = 1) 
hdr1 <- read.table(text = Lines, header = TRUE, nrows = 1) 
names(DF) <- paste0(names(hdr1), names(DF)) 

geben:

> DF 
    Life.expectancy.at.birth..years..1Female Life.expectancy.at.birth..years..2Male 
1          62          61 
2          61          58 
3          56          54 
4          50          49 
5          76          73 

Hinweis: Wir haben dies für die Eingabe Lines:

Lines <- " Life.expectancy.at.birth..years..1 Life.expectancy.at.birth..years..2 
          Female        Male 
           62         61 
           61         58 
           56         54 
           50         49 
           76         73"