1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
% $Id: safe.write.Rd 135 2003-12-02 14:53:01Z dj $
\name{safe.write}
\alias{safe.write}
\title{Write a data.frame avoiding exceeding memory limits}
\description{
This function batches calls to \code{write.table} to avoid
exceeding memory limits for very large data.frames.
}
\usage{
safe.write(value, file, batch, ...)
}
\arguments{
\item{value}{a data.frame;}
\item{file}{a file object (connection, file name, etc).}
\item{batch}{maximum number of rows to write at a time.}
\item{\dots}{any other arguments are passed to \code{write.table}.}
}
\details{
The function has a while loop invoking \code{\link[base]{write.table}}
for subsets of \code{batch} rows of \code{value}. Since this is
a helper function for \code{\link[RMySQL]{mysqlWriteTable}}, it has
hardcoded other arguments to \code{write.table}.
}
\value{
\code{NULL}, invisibly.
}
\note{No error checking whatsoever is done.}
\seealso{\code{\link[base]{write.table}}}
\examples{\dontrun{
ctr.file <- file("dump.sqloader", "w")
safe.write(big.data, file = ctr.file, batch = 25000)
}
}
\keyword{internal}
%% vim: syntax=tex
|