将SPSS数据导入R时出错

时间:2013-06-16 03:07:16

标签: r spss data-import

我以.sav SPSS格式导入了一个数据集,我收到的错误是我以前没见过的。

1: In read.spss("C:\\Users\\acer\\Desktop\\X\\X\\PIREDEU\\ees2009_v0.9_20110622.sav",  ... :
  C:\Users\acer\Desktop\X\X\PIREDEU\ees2009_v0.9_20110622.sav: File contains duplicate label for value 1.1 for variable V200 
Error in cat(list(...), file, sep, fill, labels, append) : 
  argument 2 (type 'list') cannot be handled by 'cat'

我输入warnings(PIREDEU)后出现了这个问题。我使用外部库导入数据:

library(foreign)
PIREDEU<-read.spss("C:\\Users\\acer\\Desktop\\X\\X\\PIREDEU\\ees2009_v0.9_20110622.sav", use.value.labels=TRUE, max.value.labels=Inf, to.data.frame=TRUE)

对于read.spss函数的后三个参数,我已经摆弄了各种组合,而我却无处可去。

有人有什么建议吗?

4 个答案:

答案 0 :(得分:2)

我使用下面的一个并且它工作得很好,只需忽略警告消息并通过键入其名称来检查数据:

mydata4<-read.spss("C:\\Work\\data.sav",use.value.labels=F,to.data.frame=T)
mydata4 # check data

答案 1 :(得分:0)

文件中是否有长字符串 - 超过8个字节?统计数据使用一些特殊安排来处理。看起来问题在于价值标签。如果你可以删除它们(使用SPSS),你可以获得其余的数据。

答案 2 :(得分:0)

尝试读取没有标签的数据。

library(foreign)

PIREDEU <- read.spss("C:\\Users\\acer\\Desktop\\X\\X\\PIREDEU\\ees2009_v0.9_20110622.sav",
  use.value.labels = F,
  to.data.frame = T)

有效吗?

答案 3 :(得分:0)

将spss数据文件转换为.por(可移植文件),在R中,安装包hMiscmemiscforeign并使用library(foreign)加载包,{ {1}}和library(hMisc)

然后输入以下内容:

library(memisc)