scan                  package:base                  R Documentation

_R_e_a_d _D_a_t_a _V_a_l_u_e_s

_D_e_s_c_r_i_p_t_i_o_n:

     Read data into a vector or list from the console or file.

_U_s_a_g_e:

     scan(file = "", what = double(0), nmax = -1, n = -1, sep = "",
          quote = if (sep=="\n") "" else "'\"", dec = ".",
          skip = 0, nlines = 0, na.strings = "NA",
          flush = FALSE, strip.white = FALSE, quiet = FALSE)

_A_r_g_u_m_e_n_t_s:

    file: the name of a file to read data values from.  If the
          specified file is `""', then input is taken from the keyboard
          (in this case input can be terminated by a blank line).

          Otherwise, the file name is relative to the current working
          directory, `getwd()', unless it specifies an absolute path.

    what: the type of `what' gives the type of data to be read.  If
          `what' is a list, it is assumed that the lines of the data
          file are records each containing `length(what)' items
          (``fields'').

    nmax: the maximum number of data values to be read, or if `what' is
          a list, the maximum number of records to be read.  If
          omitted, `scan' will read to the end of `file'.

       n: the maximum number of data values to be read, defaulting to
          no limit.

     sep: by default, scan expects to read white-space delimited input
          fields.  Alternatively, `sep' can be used to specify a
          character which delimits fields.

   quote: the set of quoting characters as a single character string.

     dec: decimal point character.

    skip: this many lines of the input file should be skipped before
          starting to read data values.

  nlines: the maximum number of lines of data to be read.

na.strings: character string, indicating which character fields in the
          file should translate to missing (`NA') values.

   flush: logical; if `TRUE', `scan' will flush to the end of the line
          after reading the last of the fields requested. This allows
          putting comments after the last field.

strip.white: vector of logical value(s) corresponding to items in the
          `what' argument. It is used only when `sep' has been
          specified, and allows the stripping of leading and trailing
          white space from `character' fields (`numeric' fields are
          always stripped).

          If `strip.white' is of length 1, it applies to all fields;
          otherwise, if `strip.white[i]' is `TRUE' and the `i'-th field
          is character (because `what[i]' is), then the leading and
          trailing white space from field `i' is stripped.

   quiet: logical; if `FALSE' (default), scan(.) will print a line,
          telling what fields have been read.

_D_e_t_a_i_l_s:

     The value of `what' can be a list of types, in which case `scan'
     returns a list of vectors with the types given by the types of the
     elements in `what'.  This provides a way of reading columnar data.

     If `sep' is nondefault, the fields may be quoted in the style of
     .csv format files where separators inside quotes (`''' or `""')
     are ignored and quotes may be put inside strings by doubling them.
     However, if `sep' is `"\n"' it is assumed by default that one
     wants to read entire lines verbatim.

     Keyboard entry is terminated by typing a blank line.

_S_e_e _A_l_s_o:

     `read.table' for more user-friendly reading of data matrices;
     `write'.

_E_x_a_m_p_l_e_s:

     cat("TITLE extra line", "2 3 5 7", "11 13 17", file="ex.data", sep="\n")
     pp <- scan("ex.data", skip = 1, quiet= TRUE)
         scan("ex.data", skip = 1)
         scan("ex.data", skip = 1, nlines=1)# only 1 line after the skipped one
     str(scan("ex.data", what = list("","",""))) # flush is F -> read "7"
     str(scan("ex.data", what = list("","",""), flush = TRUE))
     unlink("ex.data") # tidy up

