[R] skipping specific rows in read.table

ggrothendieck@yifan.net ggrothendieck at yifan.net
Tue Apr 23 04:13:43 CEST 2002


read.table(fname,skip=2,col.names=read.table(fname,skip=1,nrows=1,as.is=T))

On 22 Apr 2002 at 9:06, David Kane  David Kane wrote:

> Hi,
> 
> We are considering organizing some of our ascii files with multiple "column
> names" like so:
> 
> a.long.but.complete.name	a.different.complex.name
> short.name.1	short.name.2
> 1	7
> 2	8
> 3	9
> [more data]
> 
> The basic idea is that we want to keep, in one location, both a long descriptive
> name of each variable (in row 1) and a short convenient name (in row 2). I
> could imagine keeping other information about the data in here as well.
> 
> [Comment: Of course, my CS buddies would say that the "grown up" way to handle
> this sort of thing is XML, but I haven't seen much discussion of people reading
> XML files directly into R -- although Duncan Temple Lang's R/SPlus XML Parsing
> Package looks quite interesting. In any event, since I don't have complete
> control over the format of these files, my options may be limitted. I would
> certainly love to hear about any XML/R success stories.]
> 
> In any event, I can easily use the "skip" argument to read.table to ignore the
> first row.
> 
> > read.delim("/home/a296180/tmp/junk.txt", skip = 1)
>   short.name.1 short.name.2
> 1            1            7
> 2            2            8
> 3            3            9
> 
> Is there a similar trick for ignoring the second row? That is, I want to
> produce a dataframe that looks like:
> 
>   a.long.but.complete.name a.different.complex.name
> 1                        1                        7
> 2                        2                        8
> 3                        3                        9
> 
> I can think of various hacks, including 1) adding a comment character to the
> second row prior to reading it in and 2) reading everything in and then
> deleting the second row and, perhaps, coercing the variable to be the
> appropriate type and 3) changing the code to read.table itself (which we did
> before to handle some issues made moot by Professor Ripley's marvelous
> `colClasses' addition to read.table), but I am hoping that there is a better
> way. To the extent that it matters, I am using R 1.4.0 patched on Solaris.
> 
> Thanks,
> 
> Dave Kane
> -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
> r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
> Send "info", "help", or "[un]subscribe"
> (in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
> _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
> 


-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the R-help mailing list