尝试将SPSS文件读入R。将变成所有NAs。内部错误

尝试将SPSS文件读入R。将变成所有NAs。内部错误,r,spss,R,Spss,我正在尝试使用read.SPSS将SPSS文件读入R。这是一个非常大的文件(世界价值观调查),大约有67k个条目 以下是代码和错误: > library(foreign) > wvs = read.spss("C:/wvs2005_v20090901a.sav",to.data.frame=TRUE) Warning messages: 1: In read.spss("C:/wvs2005_v20090901a.sav", to.data.frame = TRUE) : C:/wv

我正在尝试使用read.SPSS将SPSS文件读入R。这是一个非常大的文件(世界价值观调查),大约有67k个条目

以下是代码和错误:

> library(foreign)
> wvs = read.spss("C:/wvs2005_v20090901a.sav",to.data.frame=TRUE)
Warning messages:
1: In read.spss("C:/wvs2005_v20090901a.sav", to.data.frame = TRUE) :
C:/wvs2005_v20090901a.sav: Unrecognized record type 7, subtype 8 encountered in system file
2: In `levels<-`(`*tmp*`, value = c("Missing; Unknown", "Not asked",  :
duplicated levels will not be allowed in factors anymore
3: In `levels<-`(`*tmp*`, value = c("Missing; Unknown", "Not asked",  :
duplicated levels will not be allowed in factors anymore
4: In `levels<-`(`*tmp*`, value = c("Missing; Unknown", "Not asked",  :
duplicated levels will not be allowed in factors anymore
5: In `levels<-`(`*tmp*`, value = c("Missing; Unknown", "Not asked",  :
duplicated levels will not be allowed in factors anymore
6: In `levels<-`(`*tmp*`, value = c("Missing; Unknown", "Not asked",  :
duplicated levels will not be allowed in factors anymore
7: In `levels<-`(`*tmp*`, value = c("Missing; Unknown", "Not asked",  :
duplicated levels will not be allowed in factors anymore
8: In `levels<-`(`*tmp*`, value = c("Missing; Unknown", "Not asked",  :
duplicated levels will not be allowed in factors anymore
9: In `levels<-`(`*tmp*`, value = c("Missing; Unknown", "Not asked",  :
duplicated levels will not be allowed in factors anymore
>库(外文)
>wvs=read.spss(“C:/wvs2005_v20090901a.sav”,to.data.frame=TRUE)
警告信息:
1:在read.spss中(“C:/wvs2005_v20090901a.sav”,to.data.frame=TRUE):
C:/wvs2005_v20090901a.sav:系统文件中遇到无法识别的记录类型7,子类型8

2:在“levels中,您是否尝试了另一个函数来读取
spss
?我发现了两个:

?read.spss
也可以使用基于PSPP代码库的不同接口 在“memisc”包中:请参阅“spss.system.file”的帮助

另外,在包
Hmisc
中,有一个函数
spss.get
,它提供“增强的spss文件导入”


我建议您先尝试
Hmisc::spss.get

您是否尝试了另一个函数来读取
spss
?我发现了两个:

?read.spss
也可以使用基于PSPP代码库的不同接口 在“memisc”包中:请参阅“spss.system.file”的帮助

另外,在包
Hmisc
中,有一个函数
spss.get
,它提供“增强的spss文件导入”


我建议先尝试
Hmisc::spss.get

我刚刚记住:当我尝试读取spss文件时,经常会出现相同的错误,但我继续,仍然能回忆起read.spss命名的对象,不知怎的,一切都正常

我猜你没有试过点击你称之为“wvs”的对象

再次尝试我之前的建议,然后按以下方式致电wvs:

wvs <- read.spss("C:/wvs2005_v20090901a.sav", use.value.labels = FALSE,
           to.data.frame=TRUE)
head(wvs)

wvs我刚想起来:当我试图读取SPSS文件时,经常会出现相同的错误,但我仍然继续,并回忆起名为read.SPSS的对象,不知何故一切都正常

我猜你没有试过点击你称之为“wvs”的对象

再次尝试我之前的建议,然后按以下方式致电wvs:

wvs <- read.spss("C:/wvs2005_v20090901a.sav", use.value.labels = FALSE,
           to.data.frame=TRUE)
head(wvs)

wvsR的最新版本已发生更改,导致发布关于重复值的错误

SPSS统计允许多个值具有相同的值标签(通常您不想这样做,但有时它很有用)。R、 将变量转换为因子时,可能会使用值标签定义因子级别,这会导致此类消息

如果在read.spss调用中添加use.value.labels=FALSE,则不会收到此消息。当然,您需要自己生成因子,可能需要使用level=而不是factor()中的labels=来生成因子

您仍然可能会收到有关未知记录7子类型的警告消息。R包不知道如何解释所有Record7信息,因此它将丢失。在许多情况下,这是无害的,但你应该仔细检查你的数据,以确保

SPSS Statistics可以运行R代码,它提供了API,可以在Statistics和R之间正确地传输数据

嗯,,
乔恩·佩克(Jon Peck)

R的最新版本发生了变化,导致发布了关于重复值的错误

SPSS统计允许多个值具有相同的值标签(通常您不想这样做,但有时它很有用)。R、 将变量转换为因子时,可能会使用值标签定义因子级别,这会导致此类消息

如果在read.spss调用中添加use.value.labels=FALSE,则不会收到此消息。当然,您需要自己生成因子,可能需要使用level=而不是factor()中的labels=来生成因子

您仍然可能会收到有关未知记录7子类型的警告消息。R包不知道如何解释所有Record7信息,因此它将丢失。在许多情况下,这是无害的,但你应该仔细检查你的数据,以确保

SPSS Statistics可以运行R代码,它提供了API,可以在Statistics和R之间正确地传输数据

嗯,,
乔恩·佩克(Jon Peck)

我对ESS网站(欧洲社会调查)的数据有着完全相同的问题,并在
read.spss
帮助中给出提示后解决了这个问题。 使用package
memisc
可以导入一个可移植的SPSS文件,如下所示:

data <- as.data.set(spss.portable.file("filename.por"))

data我对ESS网站(欧洲社会调查)的数据有着完全相同的问题,并根据
read.spss
help中的提示解决了这个问题。 使用package
memisc
可以导入一个可移植的SPSS文件,如下所示:

data <- as.data.set(spss.portable.file("filename.por"))

data Try:
wvs=read.spss(“C:/wvs2005\u v20090901a.sav”,use.value.labels=FALSE,to.data.frame=TRUE)
感谢泰勒的创意。它确实停止了警告2到9,但警告1仍然存在,并且数据仍然都是NAs。您有权访问SPSS吗?你能在那里打开它并用不同的格式保存吗?比如:www-304.ibm.com/support/docview.wss?uid=swg21475418它并不是所有的NAs。有两列不是:colnames(wvs)[(!is.na(apply(wvs,2,sum))]给了我“V237R3”“Y003”。这些栏目有些不同。。。从下载站点试用了sas或stata版本?好主意。我会给SAS或STATA一个机会。试试:
wvs=read.spss(“C:/wvs2005\u v20090901a.sav”,use.value.labels=FALSE,to.data.frame=TRUE)
谢谢泰勒的创意。它确实停止了警告2到9,但警告1仍然存在,并且数据仍然都是NAs。您有权访问SPSS吗?你能在那里打开它并用不同的格式保存吗?比如:www-304.ibm.com/support/docview.wss?uid=swg21475418它并不是所有的NAs。有两列不是:colnames(wvs)[(!is.na(apply(wvs,2,sum))]给了我“V237R3”“Y003”。这些栏目有些不同。。。从下载站点试用了sas或stata版本?好主意。我会给SAS或STATA打一针。谢谢你的建议。我试着用spss.get。它有完全相同的错误。我也试过了