From bbolker at gmail.com  Tue Nov 16 02:59:26 2010
From: bbolker at gmail.com (Ben Bolker)
Date: Tue, 16 Nov 2010 01:59:26 +0000 (UTC)
Subject: [Rd] Bug in read.table?
References: <4CD1674E.6070807@yorku.ca> <002701cb7b65$5a516c30$0ef44490$@ca>
	<4CD1A6BE.3020801@yorku.ca>
	<1941.78.147.225.236.1288992147.squirrel@paleo.ija.csic.es>
	<4CD6D121.1020402@acm.org>
	<2145.78.147.236.204.1289166988.squirrel@paleo.ija.csic.es>
	<loom.20101107T225942-16@post.gmane.org>
	<loom.20101108T003515-462@post.gmane.org>
	<loom.20101109T021750-294@post.gmane.org>
Message-ID: <loom.20101116T025448-997@post.gmane.org>

Ben Bolker <bbolker <at> gmail.com> writes:

> 
> Ben Bolker <bbolker <at> gmail.com> writes:
> 
> >
> >
> 
>    Can simplify this still farther:
> 
> a b'c
> d e'f
> g h'i

  This example file leads to duplicate lines.
Arguably it should have behavior analogous to:

> scan(what="")
1: a b'c
3: d e'f
5: g h'i
7: Read 6 items
[1] "a"   "b'c" "d"   "e'f" "g"   "h'i"


> 
> >  One of the first things that happens in read.table is that
> > the first few lines are read with readTableHead:
> > 
> >   lines <- .Internal(readTableHead(file, nlines, comment.char, 
> >        blank.lines.skip, quote, sep))
> > 
>   in this case, this reads the first two lines as one line;
> the single quote at pos. 4 of the first line closes on pos.
> 4 of the second line, preventing the first new line from
> ending a line.
> 
>   R then pushes back two copies of the lines that have
> been read (this is normal behavior; I don't quite follow the
> logic).
> 
>   The rest of the file is read with scan(), 1 line at a time.
> However, there is the discrepancy between the way
> that readTableHead interprets new lines in the middle of
> quoted strings (it ignores them) and the way that scan()
> interprets them (it takes them as the end of the quoted string).


  Ping?
  I think this counts as a small, but real, bug. Should I go ahead
and report it as such, or would someone explain why it's not a bug?

  cheers
    Ben Bolker



[Rd] Bug in read.table?
Ben Bolker