Re: [R] How to emulate perl style of reading files ?

From: Duncan Murdoch <murdoch_at_stats.uwo.ca>
Date: Thu, 03 Jul 2008 10:16:56 -0400

On 7/3/2008 9:35 AM, Daren Tan wrote:
> I tried the following, obviously it didn't work. Hope you get my point, how to do it in R ? My objective is to read a large fasta file (but not storing the entire data into memory) , and compute some sequence composition statistics.
>
> while(a <- readLines("test1") != EOF) print(a)

The normal way to do this in R is simply

a <- readLines("test1")

and then process all of the lines in a, but if you don't want them all in memory at once, you can use some sort of loop as follows. You need to open a connection to the file, then read one line (or a few lines) at a time until your condition is met. For your specific example,

con <- file("test1", "r")
while ( length(a <- readLines(con, 1)) ) print(a) close(con)

Duncan Murdoch



R-help_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Thu 03 Jul 2008 - 14:21:04 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 03 Jul 2008 - 14:31:03 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive