[R] read.fwf and header

Martin Maechler maechler at stat.math.ethz.ch
Sat Nov 4 12:14:07 CET 2006

>>>>> "FrPi" == François Pinard <pinard at iro.umontreal.ca>
>>>>>     on Wed, 1 Nov 2006 20:21:11 -0500 writes:

    FrPi> [Martin Maechler]
    >> In my (and probably R-core's) view, read.fwf() should only have
    >> to be used for ``legacy data files'' (those times when people used *no*
    >> separators in order to save disk space), since nowadays, such
    >> data files should "automatically" have correct separators. 

    FrPi> In my day-to-day experience, the main virtue for fixed width format 
    FrPi> files is basic, humble legibility, much more than disk space savings.  
Good point.  For this reason, I often prefer  <tab>-delimited data files
which are human readable too (and don't need quoting of strings,
typically).  But also, the read.table() default <white space>-separated files
are very well humanly readable if the column starts are
aligned. You do need to quote ("..") strings with embedded white
space then, but that is very well
human-readable if you have a smart editor (such as Emacs ;-)
which then automatically colorizes strings differently than the
rest of the file entries.

However, I think this (human-readibility) only
applies to relatively small files.

    FrPi> The FWF files I see have delimiters between fields,
    FrPi> but also embedded space within fields, or at end of
    FrPi> fields, without extraneous quotes.  XML markup, CSVs,
    FrPi> quoted fields, etc. are devices meant for helping
    FrPi> machines much more than for helping humans.  They
    FrPi> significantly decrease legibility.  Humans not only
    FrPi> know better, they decipher fixed width format easily
    FrPi> enough for not really needing hairier devices in
    FrPi> general.

    FrPi> FWF files may be archaic, they are not obsolescent.
    FrPi> They will resist the fashion of the day for
    FrPi> complexity, and survive in the long run.

I cannot really oppose this statement, 
but am not as sure as you seem  ;-)

Thanks anyway for the thought provoking reply.
With regards,

More information about the R-help mailing list