[R] Read every second line from ASCII file

Roland Rau roland.rproject at gmail.com
Wed May 2 17:50:27 CEST 2007


Dear all,

I just realized that I forgotten to write some kind of final email for 
this thread and to thank you for your help.
It seems that the recommeneded procedure in such circumstances has three 
steps:
1) readLines()
2) select the desired lines
3) strsplit()

Thanks Ferdinand, Jim, and Paul!
Roland

Roland Rau wrote:
> Dear all,
> 
> I have an ASCII file where records are separated by a blank. I would 
> like to read those data; however, only the data in rows 1, 3, 5, 7, ... 
> are important; the other lines (2,4,6,8,....) contain no useful 
> information for me.
> So far I used awk/gawk to do it:
> gawk '{if ((FNR % 2) != 0) {print $0}}' infile.txt > outfile.txt
> 
> What is the recommended way to accomplish this in R?
> Simply reading the whole file, and deleting all the even-numbered lines 
> is not straightforward since these lines have different length (whereas 
> lines 1,3,5,7,... have the same length).
> 
> I 'RSiteSearched' for "read every second line from a file" but this 
> search did not yield the desired result.
> Also trying out the arguments nrows and skip from read.table()  did not 
> help.
> 
> Maybe someone knows an easy way to do it from within R? -- of course not 
> using system("gawk ....") :-)
> If not, it does not matter too much since I get the job done easily with 
> awk.
> 
> Thanks,
> Roland
> 
> 
> 
>



More information about the R-help mailing list