[R] read.table with multiple header lines

Philipp Pagel p.pagel at wzw.tum.de
Mon Apr 7 21:24:23 CEST 2008


On Mon, Apr 07, 2008 at 07:47:41PM +0200, Deborah Kronenberg wrote:
> 
> I have difficulties in reading in a text file with multiple (=2) header lines. 
> My table looks like this:
> 
> id	code	gr	grcode	AA	AB	AC	AD
> 			time	30	40	50	60
> 1	1234	1	c	0	1	0	0
> 2	1346	1	c	0	0	0	1
> 3	1456	1	c	0	0	1	1
> 4	1893	1	c	0	0	1	1
> 
> Can someone help me out?

Hm - depends on what exactly you would like to do with the second row.

If all you want is discard it you may try:

foo =  read.table('foo.tbl', skip=2)
hl = readLines('foo.tbl', 1)
hl = strsplit(hl, '\t')
colnames(foo) = hl[[1]]


If the second line is important to distinguish between column labels in
the first row, something along these lines could be what you want:

foo =  read.table('foo.tbl', skip=2)
hl = readLines('foo.tbl', 2)
hl = strsplit(hl, '\t')
colnames(foo) = sub('_$', '', paste(hl[[1]], hl[[2]], sep="_"))

cu
	Philipp

-- 
Dr. Philipp Pagel                              Tel.  +49-8161-71 2131
Lehrstuhl für Genomorientierte Bioinformatik   Fax.  +49-8161-71 2186
Technische Universität München
Wissenschaftszentrum Weihenstephan
85350 Freising, Germany
 
 and
 
Institut für Bioinformatik und Systembiologie / MIPS
Helmholtz Zentrum München -
Deutsches Forschungszentrum für Gesundheit und Umwelt
Ingolstädter Landstrasse 1
85764 Neuherberg, Germany
http://mips.gsf.de/staff/pagel



More information about the R-help mailing list