sink diverts R output to a connection (and must be used again
  to finish such a diversion, see below!).  If file is a
  character string, a file connection with that name will be established
  for the duration of the diversion.
Normal R output (to connection stdout) is diverted by
  the default type = "output".  Only prompts and (most)
  messages continue to appear on the console.  Messages sent to
  stderr() (including those from message,
  warning and stop) can be diverted by
  sink(type = "message") (see below).
sink() or sink(file = NULL) ends the last diversion (of
  the specified type).  There is a stack of diversions for normal
  output, so output reverts to the previous diversion (if there was
  one).  The stack is of up to 21 connections (20 diversions).
If file is a connection it will be opened if necessary (in
  "wt" mode) and closed once it is removed from the stack of
  diversions.
split = TRUE only splits R output (via Rvprintf) and
  the default output from writeLines: it does not split
  all output that might be sent to stdout().
Sink-ing the messages stream should be done only with great care.
  For that stream file must be an already open connection, and
  there is no stack of connections.
If file is a character string, the file will be opened using
  the current encoding.  If you want a different encoding (e.g., to
  represent strings which have been stored in UTF-8), use a
  file connection --- but some ways to produce R output
  will already have converted such strings to the current encoding.