write.foreign {foreign} | R Documentation

## 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 `writeForeign` functions

### 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.

### 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)

[Package foreign version 0.8-50 Index]