将 SPSS 文件读入 R 抛出错误 - 读取系统文件头时出错

标签 r spss

最近,我在使用 foreign 包中的 read.spss 读取 SPSS 文件时有时会出错:

Error in read.spss("sample.sav") : error reading system-file header In addition: Warning message: In read.spss("sample.sav") : sample.sav: Bad format specifier byte (0)

我生成了一个很小的 ​​sample.sav 文件,其中只有一个变量和 3 个会导致错误的情况。 Download the file或使用

download.file("http://134.102.100.220/~mark/sample.sav", "sample.sav")
read.spss("sample.sav")

有什么想法吗?

我的系统

R version 3.1.1 (2014-07-10)
Platform: x86_64-apple-darwin10.8.0 (64-bit)
foreign: Version 0.8-63

locale:
[1] en_US.UTF-8/de_DE.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

最佳答案

我会使用 haven 包,而不是 foreign,来读取 spss 文件:

require("haven")
sample <- read_spss("sample.sav")
View(sample)

您也可以使用 sjPlot 包,它使用 haven 来完成繁重的工作:

require("sjPlot")
sample <- sjPlot::read_spss("sample.sav", option = "haven")
View(sample)

使用sjPlot,您还可以查看变量标签和值:

sjPlot::view_spss(sample)

关于将 SPSS 文件读入 R 抛出错误 - 读取系统文件头时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29235485/

相关文章:

r - tidycensus::get_acs()地理选项?

r - 使用 poweRlaw 包的幂律拟合截止分布

r - 标签与 matplotlib

decimal - 限制计算中的小数精度

spss - 使用 SPSS 以编程方式在案例之间复制数据

R:通过 cyphr 加密字符串,发送到 JSON,然后从 JS 转换回字符串会导致问题

r - 零售中的客户分割

spss - 退出并显示 SPSS 语法错误代码

class - 删除附加有foreign/Hmisc SPSS导入功能的变量标签

spss - 基于条件的用户产品的串联