[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