在SPSS Statistics中使用R(插件)

date: 2018-10-30 09:26:33

在SPSS中使用R(插件)

谷歌或者百度“SPSS中调用R”, 最详细也是最靠谱的就是IBM SPSS社区的这两篇文章:

  • https://www.ibm.com/developerworks/cn/data/library/ba/ba-1401spss-r/
  • https://www.ibm.com/developerworks/cn/analytics/library/ba-call-r-spss/index.html

但是按照其过程,我重复了多次,总是无法成功。也找到一个比较靠谱的教程:

  • https://www.youtube.com/watch?v=5s2jDfuFyTY

需要借助The Essentials for R Plugin for IBM SPSS Statistics插件,如图是我最后得到的,在SPSS中运行R:

Result

基本信息

平台:windows 10

R版本:R3.2.5

SPSS版本:SPSS 24 (SPSS 25版之后调用R的方法好像出现了很不一样的变动。这里不涉及)。

安装过程

下载IBM SPSS Statistics Version 24 - Essentials for R Version 24.0.0

原本我装的是SPSS的2018测试版,还有SPSS 25版本,但是这个插件貌似最后只更新到SPSS24。所以又去下载了个SPSS 24。

去https://www-01.ibm.com/marketing/iwm/iwm/web/pickUrxNew.do?source=swg-tspssp&transactionid=450273727,下载Essentials for R。

这时假如你没有IBMid(其实就是邮箱),它会提示让你先注册什么的。邮箱注册,激活,登录账号什么的这里不谈。

最新的版本也才Version 24.0.0.0,所以假如是更新的版本,则需要找新的方法。更老的版本在此页面下载相应的版本。

IBM SPSS For R

下载R

下载后点击安装,过程中要求你制定R3.2目录,可知此插件对应的版本是R3.2,而截止2018年R版本已经到了3.5了,所以要去下载之前的版本。
Download R

R镜像站点:https://mirrors.tuna.tsinghua.edu.cn/CRAN/

然后我就从,https://mirrors.tuna.tsinghua.edu.cn/CRAN/,下载一个老版本3.2.5的R。

耐心等待

之后一路下一步下一步,程序会自动拉起CMD以及RCmd,其中会提示,“xxx会花费几分钟”,然后RCmd,黑窗口就摆在那里,上面什么输出都没有

这时候,千万不要关闭这个RCmd窗口

前几次,等了几分钟,我以为是程序卡了。关闭后,点击完成。再打开SPSS,接着文件,新建,语法,输入下面的:

* Encoding: UTF-8.
BEGIN PROGRAM R

print("ghost in the shell")

END PROGRAM.

*第一行Encoding: UTF-8.*是保存后程序自动加上的。

总是莫名的错误,说明安装有问题。

后来,我重装时打开任务管理器,发现RCmd,占用了一定的网络,证明应该是从网络上下载什么东西。

要提前关闭一些杀毒或者管理的软件(比如电脑管家,360什么的),系统自带的什么defender除外。

所以,一定要耐心等待, 直到黑窗口自动关闭,然后安装完成。

用法

BEGIN PROGRAM R. 
# Pull the data into a data frame
# 将SPSS中的数据作为一个data frame
testData = spssdata.GetDataFromSPSS() 
 
# Pull the data dictionary into another data frame
# 将数据字典存储到另一个data frame
testDict = spssdictionary.GetDictionaryFromSPSS()
 
# Take a look 
print(testData) 
print(testDict)
 
# Check what data types the variables of the R data frame have
 
lapply(testData, class)
 
# Set up a new SPSS database with the same dictionary 
spssdictionary.SetDictionaryToSPSS("Test2",testDict) 
 
# Copy the data to the new SPSS database
spssdata.SetDataToSPSS("Test2", testData) 
 
# Tell SPSS you're done creating dSPSS和R结合使用ata
spssdictionary.EndDataStep() 
 
END PROGRAM.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值