source                 package:base                 R Documentation

_R_e_a_d _R _C_o_d_e _f_r_o_m _a _F_i_l_e _o_r _a _C_o_n_n_e_c_t_i_o_n

_D_e_s_c_r_i_p_t_i_o_n:

     'source' causes R to accept its input from the named file or URL
     (the name must be quoted) or connection.  Input is read and
     'parse'd by from that file until the end of the file is reached,
     then the parsed expressions are evaluated sequentially in the
     chosen environment.

_U_s_a_g_e:

     source(file, local = FALSE, echo = verbose, print.eval = echo,
            verbose = getOption("verbose"),
            prompt.echo = getOption("prompt"),
            max.deparse.length = 150, chdir = FALSE,
            encoding = getOption("encoding"))

_A_r_g_u_m_e_n_t_s:

    file: a connection or a character string giving the pathname of the
          file or URL to read from.

   local: if 'local' is 'FALSE', the statements scanned are evaluated
          in the user's workspace (the global environment), otherwise
          in the environment calling 'source'.

    echo: logical; if 'TRUE', each expression is printed after parsing,
          before evaluation.

print.eval: logical; if 'TRUE', the result of 'eval(i)' is printed for
          each expression 'i'; defaults to 'echo'.

 verbose: if 'TRUE', more diagnostics (than just 'echo = TRUE') are
          printed during parsing and evaluation of input, including
          extra info for *each* expression.

prompt.echo: character; gives the prompt to be used if 'echo = TRUE'.

max.deparse.length: integer; is used only if 'echo' is 'TRUE' and gives
          the maximal length of the "echo" of a single expression.

   chdir: logical; if 'TRUE' and 'file' is a pathname, the R working
          directory is temporarily changed to the directory containing
          'file' for evaluating.

encoding: character string.  The encoding to be assumed when 'file' is
          a character string: see 'file'.  A possible value is
          '"unknown"': see the Details.

_D_e_t_a_i_l_s:

     All versions of R accept input from a connection with end of line
     marked by LF (as used on Unix), CRLF (as used on DOS/Windows) or
     CR (as used on classic MacOS).  The final line can be incomplete,
     that is missing the final EOL marker.

     If 'options'("keep.source") is true (the default), the source of
     functions is kept so they can be listed exactly as input. This
     imposes a limit of 128K chars on the function size and a nesting
     limit of 265.  Use 'option(keep.source = FALSE)' when these limits
     might take effect: if exceeded they generate an error.

     This paragraph applies if 'file' is a filename (rather than a
     connection).  If 'encoding = "unknown"', an attempt is made to
     guess the encoding.  The result of 'localeToCharset()' is used a
     guide.  If 'encoding' has two or more elements, they are tried in
     turn until the file/URL can be read without error in the trial
     encoding.

_R_e_f_e_r_e_n_c_e_s:

     Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) _The New S
     Language_. Wadsworth & Brooks/Cole.

_S_e_e _A_l_s_o:

     'demo' which uses 'source'; 'eval', 'parse' and 'scan';
     'options("keep.source")'.

_E_x_a_m_p_l_e_s:

     ## If you want to source() a bunch of files, something like
     ## the following may be useful:
      sourceDir <- function(path, trace = TRUE, ...) {
         for (nm in list.files(path, pattern = "\\.[RrSsQq]$")) {
            if(trace) cat(nm,":")           
            source(file.path(path, nm), ...)
            if(trace) cat("\n")
         }
      }

