将.sav文件读入R

问题描述 投票:0回答:4

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

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

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

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

谢谢你

高宏

r spss
4个回答
70
投票

您还可以使用'haven'包读取SPSS文件。 在语法方面,该包比外部包具有更高的一致性。 此外,生成的数据帧将同时具有“tbl_df”和“tbl”类,因此如果加载 dplyr,打印效果将会得到改善。

library(haven)

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

25
投票

您可以使用库

foreign
.sav
(SPSS) 格式导入数据。

library(foreign)

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

6
投票

另一个选择可能是我的 R 包

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

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

0
投票

我也有同样的问题。不知道是什么原因造成的。但对我有帮助的是将 df 保存为 csv,然后再次加载。没有更多问题...

© www.soinside.com 2019 - 2024. All rights reserved.