R: Export 'mids' object to SPSS

mids2spss {mice} | R Documentation

## Export `mids` object to SPSS

### Description

Converts a `mids` object into a format recognized by SPSS, and writes the data and the SPSS syntax files.

### Usage

    mids2spss(
      imp,
      filedat = "midsdata.txt",
      filesps = "readmids.sps",
      path = getwd(),
      sep = "\t",
      dec = ".",
      silent = FALSE
    )

### Arguments

`imp` | The `imp` argument is an object of class `mids`, typically produced by the `mice()` function.
`filedat` | A character string describing the name of the output data file.
`filesps` | A character string describing the name of the output syntax file.
`path` | A character string containing the path of the output file. The value in `path` is appended to `filedat` and `filesps`. By default, files are written to the current `R` working directory. If `path=NULL` then no file path appending is done.
`sep` | The separator between the data fields.
`dec` | The decimal separator for numerical data.
`silent` | A logical flag stating whether the names of the files should be printed.

### Details

This function automates most of the work needed to export a `mids` object to SPSS. It uses a modified version of `writeForeignSPSS()` from the `foreign` package. The modified version allows for a choice of the field and decimal separators, and makes some improvements to the formatting, so that the generated syntax file is amenable to the `INCLUDE` statement in SPSS.

Below are some things to pay attention to.

The `SPSS` syntax file has the proper file names and separators set, so in principle it should run and read the data without alteration. `SPSS` is more strict than `R` with respect to the paths. Always use the full path, otherwise `SPSS` may not be able to find the data file.

Factors in `R` translate into categorical variables in `SPSS`. The internal coding of factor levels used in `R` is exported. This is generally acceptable for `SPSS`. However, when the data are to be combined with existing `SPSS` data, watch out for any changes in the factor levels codes. The `read.spss()` in package `foreign` for reading `.sav` uses its own internal numbering scheme `1,2,3,...` for the levels of a factor. Consequently, changes in factor code can cause discrepancies in factor level when re-imported to `SPSS`. The solution is to manually recode the factor level in `SPSS`.

`SPSS` will recognize the data set as a multiply imputed data set, and do automatic pooling in procedures where that is supported. Note however that pooling is an extra option only available to those who license the `MISSING VALUES` module. Without this license, `SPSS` will still recognize the structure of the data, but not do any pooling.

### Value

The return value is `NULL`.

### Author(s)

Stef van Buuren, dec 2010.

### See Also

`mids`

[Package mice version 3.12.0 Index]