【问题标题】:read.spss Extra variables/fieldsread.spss 额外的变量/字段
【发布时间】:2011-10-11 03:57:25
【问题描述】:

使用 foreign 包,我正在读取 .sav 文件。当我用 PSPP 打开文件时,有 95 个变量。但是,read.spss("file") 会返回一个包含 353 个变量的列表。额外的变量是具有 220 个空格的空白字段。有没有人经历过这种情况?

在您问之前,我无法提供可重现的示例,因为数据文件及其内容是专有的。

一个明显的解决方案是搜索仅包含空格的列表元素,并将列表元素设置为 NULL 或将具有 220 个空格的每个元素设置为 NA,然后删除 NA 列。

但我想避免在必要时对我的文件进行进一步的后期处理。有没有人解决这个问题?

【问题讨论】:

  • 您可以尝试在 SPSS 中导出到“便携式”文件 (*.por),然后在 R 中打开它(也可以使用 read.spss)。我在某个地方读到这个工作通常更可靠,但是刚才它在某个 SPSS 数据集上失败了,而它在第二个数据集上工作。或者只是尝试将您的数据集保存到一个新文件中,这样做一次对我有帮助,显然它会重写整个文件结构,这可能会清理问题。祝你好运!

标签: r


【解决方案1】:

我以前也遇到过类似的情况。当数据从 SPSS CATI(现场访谈应用程序)而不是我们熟悉和喜爱的 SPSS 导出时,就会发生这种情况。

在我的情况下,解决方案是使用 read.spss 的参数。我发现设置use.missings=FALSE 解决了这个问题,例如:

read.spss(global$datafile, to.data.frame=TRUE, use.missings=FALSE)

祝你好运,我的同情。我知道这对我来说是多么令人沮丧。

【讨论】:

  • 就我而言, use.missing=F 不起作用。似乎与字符串> 255 个字符相关的问题。在 bugs.r-project.org/bugzilla3/show_bug.cgi?id=15152 上查看更多信息,它不会被修复。避风港包似乎适用于这种情况。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-09
相关资源
最近更新 更多