我正在尝试学习R并想要引入一个SPSS文件,我可以在SPSS中打开它.
我试过使用read.spssfrom foreign和spss.getfrom Hmisc.两条错误消息都是相同的.
这是我的代码:
## install.packages("Hmisc")
library(foreign)
## change the working directory
getwd()
setwd('C:/Documents and Settings/BTIBERT/Desktop/')
## load in the file
## ?read.spss
asq <- read.spss('ASQ2010.sav', to.data.frame=T)
Run Code Online (Sandbox Code Playgroud)
由此产生的错误:
read.spss中的错误("ASQ2010.sav",to.data.frame = T):读取系统文件头的错误此外:警告消息:在read.spss("ASQ2010.sav",to.data.frame = T):ASQ2010.sav:位置0:字符`\ 000'(
此外,我尝试将SPSS文件保存为SPSS 7 .sav文件(之前使用的是SPSS 18).
警告消息:1:在read.spss("ASQ2010_test.sav",to.data.frame = T)中:ASQ2010_test.sav:系统文件2中遇到无法识别的记录类型7,子类型14:在read.spss中("ASQ2010_test. sav",to.data.frame = T):ASQ2010_test.sav:系统文件中遇到无法识别的记录类型7,子类型18
我将很快分析大量的网络流量相关数据,并将对数据进行预处理以进行分析.我发现R和SPSS是最流行的统计分析工具之一.我还将生成相当多的图形和图表.因此,我想知道这两个软件之间的基本区别是什么.
我不是问哪个更好,而只是想知道两者之间的工作流程有什么不同(除了SPSS有GUI之外).无论如何,我将主要使用脚本,所以我想了解其他差异.
是否有用于打开IBM SPSS(即.sav)文件的Python模块?如果最新的东西不需要任何额外的DLL文件/库,那将是很棒的.
我想在Excel中打开SPSS的.sav数据文件,而无需打开SPSS文件(我不想转换SPSS数据文件导入Excel文件),我知道这是可能使用OLDB连接,但我不知道该怎么办这个.
任何人都可以帮我这样做吗?
提前致谢.
在SPSS中运行R插件时,我收到一个Windows路径字符串作为输入,例如
'C:\Users\mhermans\somefile.csv'
Run Code Online (Sandbox Code Playgroud)
我想在后续的R代码中使用该路径,但是斜杠需要用正斜杠替换,否则R将其解释为转义(例如"\ U used without hex digits"错误).
然而,我无法找到一个可以用斜线替换反斜杠或双重逃避它们的函数.所有这些函数都假设这些字符被转义.
那么,是否有类似的东西:
>gsub('\\', '/', 'C:\Users\mhermans')
C:/Users/mhermans
Run Code Online (Sandbox Code Playgroud) 我试图将.sav文件读入R但是我收到以下警告:
library("memisc")
dataset <- data.frame(as.data.set(spss.system.file("dataset.sav")))
Run Code Online (Sandbox Code Playgroud)
parseSysHeader(ptr):file缺少info_flt64记录,使用默认值
有人能告诉我这个警告意味着什么,以及如何解决它?任何帮助,将不胜感激.
谢谢
孝弘
我是R的新手,所以如果这是一个简单的问题我会道歉,但是我今晚做了很多搜索,似乎无法弄明白.我有一个包含大量变量的数据框,我想要做的是创建一个表格,其中包含这些变量的子集,基本上相当于Stata中的"pwcorr",或者"相关性". SPSS.对此的一个关键是我不仅需要r,而且还需要与该值相关的重要性.
有任何想法吗?这似乎应该很简单,但我似乎无法找到一个好方法.
我有两个版本的SPSS在工作.在Windows XP上运行的SPSS 11和在Linux上运行的SPSS 20.SPSS的两个副本都可以正常工作.使用任一版本的SPSS创建的文件在其他版本的SPSS上打开而不会发生意外.IE - 我可以在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
Run Code Online (Sandbox Code Playgroud)
.sav文件非常简单.它有两列,哑和笨.两者都是整数.前两个包含两个值1.0.第二行包含两个值2.0.我可以根据要求提供文件(我没有看到任何方式将其上传到SO).如果有人想看到实际的文件,PM我和我会发给你.
dumb dumber
1.0 1.0
2.0 2.0
Run Code Online (Sandbox Code Playgroud)
思考?任何人都知道在没有在邮件列表上活着烤的情况下提交针对R的错误的最佳方法吗?:-)
编辑:我在标题行中使用了术语"错误".我会离开它,但我不应该使用这个词.下面的评论是正确的,指出我看到的消息是警告,而不是错误.但我觉得这在上述问题的正文中已经明确了.很明显,SPSS数据格式随着时间的推移而发生了变化,SPSS/IBM未能记录这些问题的根源.
我为这个问题的广泛性向前道歉,但我想知道是否有人有任何建议/指针.
朋友的公司使用SPSS进行统计数据,调查等.他们希望能够通过网络界面对信息进行切片和切块.我不了解SPSS,所以可能有一个简单的Web前端,但作为一个PHP/MySQL人,我想知道是否可以以MySQL可以导入或PHP可以解析的方式导出SPSS数据.然后我可以构建一个AJAX前端来实时返回查询.
这个想法将是一个结果表,当您选择"性别:男性","年龄:20-25"等选项时会发生变化...每次更改都会在浏览器中更新结果.
所以...
1)SPSS可以通过某种前端实现这一目标吗?
2)数据是否可以以通用格式轻松导出?
在与朋友的老板谈论想法之前,我只是想知道自己是否在傻瓜的事上.
TIA.唐
更新:我在朋友的公司开会讨论更多具体细节.听起来SPSS数据存储在MS SQL Server中,所以我想我可以直接连接到数据,如果我能看到某种模式逻辑并编写我自己的Web前端.
或者,我可以将数据的预定数据转储转换为另一种格式.