drop
-ed to a vector.write.dta(dataframe, file, version = 7L,
convert.dates = TRUE, tz = "GMT",
convert.factors = c("labels", "string", "numeric", "codes"))
Date
and POSIXt
objects
to Stata dates?NULL
abbreviate
function is
used to trim long variables to the permitted length. A warning is
given if this is needed and it is an error for the abbreviated names
not to be unique.The columns in the data frame become variables in the Stata data set. Missing values are handled correctly.
Unless deselected by argument convert.dates
, Rdate and
date-time objects (POSIXt
classes) are converted into the Stata
format. For date-time objects this may lose information -- Stata
dates are in days since 1960-1-1. POSIXct
objects can be
written without conversion but will not be understood as dates by
Stata; POSIXlt
objects cannot be written without conversion.
There are four options for handling factors. The default is to use
Stata convert.factors="string"
, the factor levels are written as
strings. With convert.factors="numeric"
the numeric values of
the levels are written, or NA
if they cannot be coerced to
numeric. Finally, convert.factors="codes"
writes the
underlying integer codes of the factors. This last used to be the
only available method and is provided largely for backwards
compatibility.
For Stata 8 or later use the default version=7
-- the only
advantage of Stata 8 format is that it can represent multiple
different missing value types, and Rdoesn't have them. Stata 10/11
allows longer format lists, but Rdoes not make use of them.
Note that the Stata formats are documented to use ASCII strings -- Rdoes not enforce this, but use of non-ASCII character strings will not be portable as the encoding is not recorded. Up to 244 bytes are allowed in character data, and longer strings will be truncated with a warning.
Stata uses some large numerical values to represent missing
values. This function does not currently check, and hence integers
greater than 2147483620
and doubles greater than
8.988e+307
may be misinterpreted by Stata.
read.dta
,
attributes
,
DateTimeClasses
,
abbreviate
write.dta(swiss, swissfile <- tempfile())
read.dta(swissfile)
Run the code above in your browser using DataLab