write.foreign
Write Text Files and Code to Read Them
Description
This function exports simple data frames to other statistical packages by writing the data as free-format text and writing a separate file of instructions for the other package to read the data.
Usage
write.foreign(df, datafile, codefile, package = c("SPSS", "Stata", "SAS"), ...)
Arguments
df | A data frame |
datafile | Name of file for data output |
codefile | Name of file for code output |
package | Name of package |
... | Other arguments for the individual |
Details
The work for this function is done by foreign:::writeForeignStata
, foreign:::writeForeignSAS
and foreign:::writeForeignSPSS
. To add support for another package, eg Systat, create a function writeForeignSystat
with the same first three arguments as write.foreign
. This will be called from write.foreign
when package="Systat"
.
Numeric variables and factors are supported for all packages: dates and times (Date
, dates
, date
, and POSIXt
classes) and logical vectors are also supported for SAS and characters are supported for SPSS.
For package="SAS"
there are optional arguments dataname = "rdata"
taking a string that will be the SAS data set name, validvarname
taking either "V6"
or "V7"
, and libpath = NULL
taking a string that will be the directory where the target SAS datset will be written when the generated SAS code been run.
For package="SPSS"
there is an optional argument maxchars = 32L
taking an integer that causes the variable names (not variable labels) to be abbreviated to not more than maxchars
chars. For compatibility with SPSS version 12 and before, change this to maxchars = 8L
. In single byte locales with SPSS versions 13 or later, this can be set to maxchars = 64L
.
For package="SPSS"
, as a side effect, the decimal indicator is always set by SET DECIMAL=DOT.
which may override user settings of the indicator or its default derived from the current locale.
Value
Invisible NULL
.
Author(s)
Thomas Lumley and Stephen Weigand
Examples
## Not run: datafile <- tempfile() codefile <- tempfile() write.foreign(esoph, datafile, codefile, package="SPSS") file.show(datafile) file.show(codefile) unlink(datafile) unlink(codefile) ## End(Not run)
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.