将 .sav 文件读入 R

Reading .sav file into R

我正在尝试将 .sav 文件读入 R,但收到以下警告:

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

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

有人能告诉我这个警告是什么意思以及如何解决吗? 任何帮助将不胜感激。

谢谢

高弘

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

library(foreign)

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

您也可以使用'haven' package读取SPSS文件。在语法方面,这个包比 foreign 包有更多的一致性。此外,生成的数据框将同时具有 'tbl_df' 和 'tbl' 类,因此如果加载 dplyr,打印将得到改进。

library(haven)

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

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

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