Learn R Programming

foreign (version 0.8-11)

read.spss: Read an SPSS Data File

Description

read.spss reads a file stored by the SPSS save and export commands and returns a list.

Usage

read.spss(file, use.value.labels=TRUE, to.data.frame=FALSE,
          max.value.labels=Inf, trim.factor.names=FALSE)

Arguments

file
character variable with the name of the file to read.
use.value.labels
Convert variables with value labels into Rfactors with those levels?
to.data.frame
return a data frame?
max.value.labels
Only variables with at most this many unique values will be converted to factors
trim.factor.names
Trim trailing spaces from factor levels?

Value

  • A list (or data frame) with one component for each variable in the saved data set.

Details

This uses modified code from the PSPP project for reading the SPSS formats. Occasionally in SPSS value labels will be added to some values of a continuous variable (eg to distinguish different types of missing data), and you will not want these variables converted to factors. By setting max.val.labels you can specify that variables with a large number of distinct values are not converted to factors even if they have value labels. In addition, variables will not be converted to factors if there are non-missing values that have no value label. The value labels are then returned in the "value.labels" attribute of the variable. If SPSS variable labels are present, they are returned as the "variable.labels" attribute of the answer.

Fixed length strings (including value labels) are padded on the right with spaces by SPSS, and so are read that way by R. See the examples for sub for ways to remove trailing spaces in string data.

Examples

Run this code
read.spss("datafile")
## don't convert value labels to factor levels
read.spss("datafile",use.value.labels=FALSE)
## convert value labels to factors for variables with at most
## ten distinct values.
read.spss("datafile",max.val.labels=10)

Run the code above in your browser using DataLab