Learn R Programming

mice (version 3.4.0)

mids2spss: 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.

Value

The return value is NULL.

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.

See Also

mids