Reading .sav file into R

Publish date: 2024-06-15

I am trying to read a .sav file into R but I got the following warning:

library("memisc") dataset <- data.frame(as.data.set(spss.system.file("dataset.sav"))) 

parseSysHeader(ptr) : file lacks info_flt64 record, using defaults

Could someone tell me what this warning means and how to fix it? Any help would be appreciated.

Thank you

Takahiro

3 Answers

You can also use the 'haven' package to read in the SPSS file. This package has much more consistency over the foreign package, with regard to syntax. Also, the resulting data frame will have both the 'tbl_df' and 'tbl' classes so printing will be improved if dplyr is loaded.

library(haven) path = file.path("C:/", "Folder", "dataset.sav") dataset = read_sav(path) 
1

You can use the library foreign to import data from .sav (SPSS) format.

library(foreign) data <- read.spss("C:/PathToFile/dataset.sav", to.data.frame=TRUE) 

Another option could be my R package readspss. The syntax is similar to the one of the foreign package. The imported data is returned as a data.frame() with attributes. The package was written from scratch and features read and write support for all SPSS files (zsav, sav and por). It was tested with a variety of SPSS files and supports reading of (hopefully) all SPSS features (e.g. encrypted and or compressed files, long strings, and all types of missings).

library(readspss) dataset <- read.sav("dataset.sav") 

ncG1vNJzZmirpJawrLvVnqmfpJ%2Bse6S7zGiorp2jqbawutJoamxoYmt%2Bd4OOq5yanJmjtG6%2FwK9kn6GcmnqqutOoZKs%3D