将.sav文件读入R

Tak*_*iro 14 r spss

我试图将.sav文件读入R但是我收到以下警告:

library("memisc")
dataset <- data.frame(as.data.set(spss.system.file("dataset.sav")))
Run Code Online (Sandbox Code Playgroud)

parseSysHeader(ptr):file缺少info_flt64记录,使用默认值

有人能告诉我这个警告意味着什么,以及如何解决它?任何帮助,将不胜感激.

谢谢

孝弘

Ric*_*sch 15

您还可以使用'haven'包读取SPSS文件.在语法方面,这个包比外包更具一致性.此外,结果数据框将同时具有'tbl_df'和'tbl'类,因此如果加载dplyr,将改进打印.

library(haven)

path = file.path("C:/", "Folder", "dataset.sav")
dataset = read_sav(path)
Run Code Online (Sandbox Code Playgroud)


raf*_*ira 8

您可以使用该库foreign.sav(SPSS)格式导入数据。

library(foreign)

data <- read.spss("C:/PathToFile/dataset.sav", to.data.frame=TRUE)
Run Code Online (Sandbox Code Playgroud)


小智 5

另一种选择可能是我的 R 包readspss。语法类似于foreign包之一。导入的数据作为data.frame()带属性返回。该软件包是从头开始编写的,具有对所有 SPSS 文件(zsav、sav 和 por)的读写支持。它使用各种 SPSS 文件进行了测试,并支持读取(希望如此)所有 SPSS 功能(例如加密和/或压缩文件、长字符串和所有类型的缺失)。

library(readspss)
dataset <- read.sav("dataset.sav")
Run Code Online (Sandbox Code Playgroud)