[R] problem with reading data files with different numbers o

(Ted Harding) ted.harding at nessie.mcc.ac.uk
Fri Aug 3 00:52:05 CEST 2007


On 02-Aug-07 21:14:20, Tom Cohen wrote:
> Dear  List, 
>    
>   I have 30 data files with different numbers of lines (31 and 33) that
> I want to skip before reading the files. If I use the skip option I can
> only choose either to skip 31 or 33 lines. The data files with 31 lines
> have no blank rows between the lines and the header row. How can I read
> the files without manually checking which files have 31 respectively 33
> lines ?  The only text line I want to keep is the header.
>    
>   Thamks for your help,
>   Tom
>    
>    
>   for (i in 1:num.files) {
>    a<-read.table(file=data[i],
>   ,header=T,skip=31,sep='\t',na.strings="NA") 
>   
>   }

If you're using a Unix/Linux system, you have the little command "wc"
which can count characters or words or lines in a file. For example,
I'm working at the moment on a file "mkSim.R" which has 53 lines.

So, in R:

> system("wc -l mkSim.R")
     53 mkSim.R

Hence the following returns the line-count as an integer:

> as.integer(substring(system("wc -l mkSim.R",intern=TRUE),1,7))
[1] 53

(which will also work for files with hundreds, thousands, ... of
lines, since the units digit is at position 7).

Hoping this helps,
Ted.

--------------------------------------------------------------------
E-Mail: (Ted Harding) <ted.harding at nessie.mcc.ac.uk>
Fax-to-email: +44 (0)870 094 0861
Date: 02-Aug-07                                       Time: 23:51:59
------------------------------ XFMail ------------------------------



More information about the R-help mailing list