楼主: rwxrwx
4357 1

sax basic 和 python [推广有奖]

  • 0关注
  • 0粉丝

学前班

50%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
141 点
帖子
5
精华
0
在线时间
1 小时
注册时间
2008-6-9
最后登录
2010-6-12

rwxrwx 发表于 2009-1-31 19:41:00 |显示全部楼层
都是spss的脚本语言,basic是老的,python是新的,我没人指点,差点学了老的。<br/><br/>我想找用python写过spss script的朋友分享一下在生产环境中遇到的问题和解决思路和源码。<br/><br/>另外看到有材料说spss支持R语法了,不知道有谁试过。<br/>
关键词:python Basic ASIC ASI SIC

stata SPSS
DM小菜鸟 发表于 2015-2-15 16:24:04 |显示全部楼层
首先是环境的准备。在已经安装了 SPSS Statistics 和 R 语言的环境中,需要新安装软件包 SPSS Statistics Essentials for R 来实现在 SPSS Statistics 中调用 R 语言。
这个新的软件包就像一座桥梁将两个统计分析软件联系起来。
  
  
图 1. 用 Essentials for R 连接 R 语言和 SPSS Statistics
  
但应注意的是,针对不同的 SPSS Statistics 版本,需要有相对应的 R 语言版本和 SPSS Statistics Essentials for R 版本来匹配,其关系参照如下表格 :

表 1. SPSS Statistics 和 R 语言版本匹配表
注:
1.前四个版本需要在IBM官网:https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?source=swg-tspssp下载
2.最后一个版本需要在http://sourceforge.net/projects/ibmspssstat/下载
   
以下都以 Windows 操作系统中,使用 SPSS Statistics 22, R 2.15.3 和 SPSS Statistics Essentials for R 22.0.0 为例来讲解。安装 SPSS Statistics Essentials for R 软件包时会要求输入已有的 SPSS Statistics 和 R 语言环境,并建立联系。下面我们就来介绍在 SPSS Statistics 中调用 R 的最简单实现过程。
第 1 步:通过 SPSS Statistics 菜单:文件 --> 新建 --> 语法,打开 语法编辑器


图 2. 调用 R 的第 1 步——使用语法编辑器
第 2 步:在编辑框中输入对应的语法脚本,遵循结构为:
代码 1. 嵌入 R 代码的基本语法结构
BEGIN PROGRAM R.
……
中间为R代码
……
END PROGRAM
  
如下图所示:

图 3. 调用 R 的第 2 步——在语法框中输入脚本
  
第 3 步:选取这段语法,执行菜单的:运行 --> 选择,或点击图标绿色三角,或执行快捷命令 Ctrl+R, R 代码分析的结果就会在 SPSS Statistics查看器中输出


图 4. 调用 R 的第 3 步——运行结果显示
以上是在 SPSS Statistics 中嵌入 R 代码的最简单形式。如果希望在 R 代码中使用 SPSS Statistics 数据编辑器中的数据集,可以使用函数 spssdata.GetDataFromSPSS()。在数据编辑器中打开 SPSS 的实例数据 demo.sav,自动命名为【数据集 1 】。在语法编辑器中执行代码:
代码 2. 使用 SPSS Statistics 编辑器中的数据
BEGIN PROGRAM R.
   demodata <- spssdata.GetDataFromSPSS()
   mean(demodata$age)
END PROGRAM.
  
就可以计算得到 age 字段的均值,如下图:

图 5. 输出结果
   
另一方面,也可以更直观地在 SPSS Statistics 查看器中输出 R 中的表格数据,例如代码:
代码 3. 查看 R 中产生的表格
BEGIN PROGRAM R.
   spsspivottable.Display(Formaldehyde,title="Determination of Formaldehyde")
END PROGRAM.
  
输出结果为 SPSS 中的表格式样:

图 6. 输出结果
   
这里使用了函数 spsspivottable.Display()。而更复杂的多维数据表格展示,需要使用更多 SPSS Statistics 的类型和函数

这里给你一个例子——

因为 R 语言是基于命令行的文本显示方式,对于常见的多维数据不能很直观地展示。当把 R 语言集成到 SPSS Statistics 后,就可以调用 Statistics 专门设计的一些函数,在查看器中更形象地使用数据透视表(pivot table)来展示多维数据。以下例子为 R 中自带数据 HairEyeColor,其统计了不同头发和眼睛颜色的男女学生的学生人数:
  

图 9. R 中的数据 HairEyeColor

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 我要注册

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2019-9-23 01:07