[Rd] read.fwf only reads one "buffersize" of lines when reading multiline records (PR#8951)
davidhughjones at gmail.com
davidhughjones at gmail.com
Fri Jun 9 15:09:53 CEST 2006
Full_Name: David Hugh-Jones
Version: 2.3.0
OS: Windows
Submission from: (NULL) (155.245.34.194)
Here's a test case:
tf = tempfile()
cat(file=tf, rep("123", 100), sep="\n")
# this gives a data frame with 100 rows
read.fwf(tf, widths=c(1,2), buffersize=10)
# but this only gives 5 rows!
read.fwf(tf, widths=list(c(1,2), 3), buffersize=10)
I think the correct fix is to replace this line in read.fwf
if (length(raw) < thisblock)
with
if (nread < thisblock)
This bug is present in earlier versions, at least up to 2.1.0.
Cheers
David
More information about the R-devel
mailing list