首页 文章

导入.sav时出现警告/错误

提问于
浏览
9

我有两个版本的SPSS在工作 . 在Windows XP上运行的SPSS 11和在Linux上运行的SPSS 20 . SPSS的两个副本都可以正常工作 . 使用任一版本的SPSS创建的文件在其他版本的SPSS上打开而不会发生意外 . I.E. - 我可以在Linux上使用SPSS 20创建一个.sav文件,并在Windows上的SPSS 11上打开它而不会发生任何事故 .

但是,如果我使用SPSS 20创建一个.sav文件并将数据导入R或PSPP(在Linux上),我会收到一堆警告 . 数据似乎正确导入,但我担心警告 . 从SPSS 11或我发送的其他.sav文件导入.sav时,我没有看到任何警告 . 我公司的许多分析师都使用SPSS,因此我从不同版本的SPSS获得了SPSS文件,而且我从未见过这个警告 . PSPP和R之间的警告信息几乎相同,这是有道理的 . AFAIK,他们使用相同的底层库来导入数据 . 这是R错误:

Warning messages:
1: In read.spss("test.sav") :
test.sav: File-indicated value is different from internal value for at least one of  the three system values.  SYSMIS: indicated -1.79769e+308, expected -1.79769e+308; HIGHEST: 1.79769e+308, 1.79769e+308; LOWEST: -1.79769e+308, -1.79769e+308   

2: In read.spss("test.sav") :
test.sav: Unrecognized record type 7, subtype 18 encountered in system file

.sav文件非常简单 . 它有两列,哑和笨 . 两者都是整数 . 前两个包含两个值1.0 . 第二行包含两个值2.0 . 我可以根据要求提供文件(我没有看到任何方式将其上传到SO) . 如果有人想看到实际的文件,PM我和我会发给你 .

dumb  dumber
1.0   1.0
2.0   2.0

思考?任何人都知道在没有在邮件列表上活着烤的情况下提交针对R的错误的最佳方法吗? :-)

编辑:我在 Headers 行中使用了术语“错误” . 我会离开它,但我不应该使用这个词 . 下面的评论是正确的,指出我看到的消息是警告,而不是错误 . 但我觉得这在上述问题的正文中已经明确了 . 很明显,SPSS数据格式随着时间的推移而发生了变化,SPSS / IBM未能记录这些问题的根源 .

2 回答

  • 11

    这不是错误信息 . 这只是一个警告 . SPSS拒绝记录他们的文件格式,因此人们没有动力通过逆向工程来追踪新的“子类型”的结构 . 没有被烧烤就无法提交错误报告,因为没有错误....除了封闭的格式,并且应该向SPSS的所有者提交错误投诉!

    编辑:R-Core是一个志愿者小组,非常认真地对待它 . 它致力于追踪影响系统稳定性或产生错误计算的任何事情 . 如果你愿意更加尊重R的作者并建议在R-devel邮件列表上合作的可能性来确定这个问题的解决方案而不使用术语“bug”,那么你会引起更少的敌意 . 可能有人愿意看一个简单的.sav文件,例如您构建的文件,可以在十六进制显微镜下检查,以确定无限的负值被误认为是另一个无限的负值 . 大多数R-Core没有SPSS的工作副本 .

    您可以提供此链接作为尝试对SPSS .sav格式进行逆向工程的其他人的产品示例:

    http://svn.opendatafoundation.org/ddidext/org.opendatafoundation.data/references/pspp_source/sfm-read.c

    编辑:2015年4月;我已经看到最近添加了 ?read.spss 帮助文件,它引用了一个pkg:memisc:“基于PSPP代码库的不同接口在包memisc中可用:请参阅 spss.system.file 的帮助 . ”我已成功(一次)使用该软件包的功能对由最新版本的SPSS创建的文件 .

  • 1

    SPSS文件格式未公开记录并且可以更改,但IBM SPSS确实提供了可以读取和写入SAV文件格式的免费库 . 这些掩盖了对格式的任何更改 . 您可以从SPSS社区网站获取它们(以及许多其他免费赠品,包括SPSS与R的集成) . 访问www.ibm.com/developerworks/spssdevcentral并环顾四周 . 顺便说一句,自2000年以来,sav文件已经有了大量的增加/更改,尽管旧版本仍然可以读取核心数据 .

    HTH,Jon Peck

相关问题