read.fwf                package:utils                R Documentation

_R_e_a_d _F_i_x_e_d _W_i_d_t_h _F_o_r_m_a_t _F_i_l_e_s

_D_e_s_c_r_i_p_t_i_o_n:

     Read a "table" of *f*ixed *w*idth *f*ormatted data into a
     'data.frame'.

_U_s_a_g_e:

     read.fwf(file, widths, header = FALSE, sep = "\t", as.is = FALSE,
              skip = 0, row.names, col.names, n = -1, buffersize = 2000,
              ...)

_A_r_g_u_m_e_n_t_s:

    file: the name of the file which the data are to be read from.

          Alternatively, 'file' can be a 'connection', which will be
          opened if necessary, and if so closed at the end of the
          function call. 

  widths: integer vector, giving the widths of the fixed-width fields
          (of one line), or list of integer vectors giving widths for
          multiline records.

  header: a logical value indicating whether the file contains the
          names of the variables as its first line.  If present, the
          names must be delimited by 'sep'.

     sep: character; the separator used internally; should be a
          character that does not occur in the file (except in the
          header).

   as.is: see 'read.table'.

    skip: number of initial lines to skip; see 'read.table'.

row.names: see 'read.table'.

col.names: see 'read.table'.

       n: the maximum number of records (lines) to be read, defaulting
          to no limit.

buffersize: Maximum number of lines to read at one time

     ...: further arguments to be passed to 'read.table'.  Useful
          further arguments include 'na.strings', 'colClasses' and
          'strip.white'.

_D_e_t_a_i_l_s:

     Multiline records are concatenated to a single line before
     processing. Fields that are of zero-width or are wholly beyond the
     end of the line in 'file' are replaced by 'NA'.

     Negative-width fields are used to indicate columns to be skipped,
     eg '-5' to skip 5 columns.  These fields are not seen by
     'read.table' and so should not be included in a 'col.names' or
     'colClasses' argument.

     Reducing the 'buffersize' argument may reduce memory use when
     reading large files with long lines.  Increasing 'buffersize' may
     result in faster processing when enough memory is available.

_V_a_l_u_e:

     A 'data.frame' as produced by 'read.table' which is called
     internally.

_A_u_t_h_o_r(_s):

     Brian Ripley for R version: original 'Perl' by Kurt Hornik.

_S_e_e _A_l_s_o:

     'scan' and 'read.table'.

_E_x_a_m_p_l_e_s:

     ff <- tempfile()
     cat(file=ff, "123456", "987654", sep="\n")
     read.fwf(ff, width=c(1,2,3))    #> 1 23 456 \ 9 87 654
     read.fwf(ff, width=c(1,-2,3))   #> 1 456 \ 9 654
     unlink(ff)
     cat(file=ff, "123", "987654", sep="\n")
     read.fwf(ff, width=c(1,0, 2,3))    #> 1 NA 23 NA \ 9 NA 87 654
     unlink(ff)
     cat(file=ff, "123456", "987654", sep="\n")
     read.fwf(ff, width=list(c(1,0, 2,3), c(2,2,2)))    #> 1 NA 23 456 98 76 54
     unlink(ff)

