首页
博客
理论工具
数据分析
spss分析
amos分析
python数据分析
结构方程模型
回归与中介
论文写作
未分类
数据服务
关于我们
0
个人中心
我的订单
退出
登录
登录
注册
Get Started
Python for SPSS – 如何使用它
作者:Ruben Geert van den Berg,[SPSS Python 基础知识][1] - [SPSS Python 基础知识][2] - [从 SPSS 语法窗口运行 Python][3] - [将 Python 代码包装到函数中][4] - [编写您自己的 Python 模块][5] - [创建 SPSS 扩展][6] SPSS Python 基础知识 ---------------- 首先,在[SPSS][7]中使用 Python始终要求您拥有 - 统计软件, - Python - 您计算机上安装的 SPSS-Python 插件文件。 这些组件统称为**SPSS Python 必需品**。对于最新的 SPSS 版本,默认情况下会安装 Python 必需品。检查这一点的一种方法是导航到 Edit Options 文件位置,您可能会在其中找到一些 Python 位置,如下所示。  那么你_应该_在这里看到什么? - 如果您在这里看到活跃的 Python 3 位置,那么就可以开始了; - 如果您_只_看到一个活动的 Python 2 位置,那么您只能使用不再支持的 Python 2。您最好的选择是升级到 SPSS 版本 24 或(最好)更高版本; - 如果所有位置均呈灰色(甚至不存在),则表明您的 SPSS 未安装任何 Python 必需品。在这种情况下,您需要(重新)安装最新的 SPSS 版本。 从 SPSS 语法窗口运行 Python -------------------- 好的。那么,如果您已经正确安装了 SPSS 和 Python 必需品,那么接下来该怎么办? 嗯,最简单的方法是从 SPSS 语法窗口运行 Python。将所有 Python 行括在 BEGIN PROGRAM PYTHON3 之间。和结束程序。如下所示。  尝试复制粘贴运行下面的整个语法。请注意,此 Python 块只是将所有变量名称小写,无论它们是什么或有多少。 //用于创建空测试数据的 SPSS 语法。 data list free/V1 V2 v3 v4 EDUC gender SAlaRY. begin data end data. //运行 Python 块以小写所有变量名称。 begin program python3. import spss,spssaux oldNames = spssaux.GetVariableNamesList() newNames = \[var.lower() for var in oldNames\] spss.Submit("RENAME VARIABLES (%s = %s)."%(' '.join(oldNames),' '.join(newNames))) end program. 将 Python 代码包装到函数中 ----------------- 是的,我们只是从 SPSS 语法窗口运行一些 Python。现在,这工作得很好,但这样做有一些缺点: - 如果我们的语法包含很长的 Python 块,那么它的可读性和管理性就会降低; - 如果我们在多个 SPSS 语法文件中使用某些 Python 块并且我们想要更正它,我们需要在每个语法文件中更正它; - SPSS 语法编辑器是一个很差的文本编辑器。 解决这些问题的第一步是将 Python 代码包装到 Python 函数中。 // 创建空测试数据。** data list free/V1 V2 v3 v4 EDUC gender SAlaRY. begin data end data. // 将 lowerCaseVars 定义为 Python 函数。** begin program python3. def lowerCaseVars(): import spss,spssaux oldNames = spssaux.GetVariableNamesList() newNames = \[var.lower() for var in oldNames\] spss.Submit("RENAME VARIABLES (%s = %s)."%(' '.join(oldNames),' '.join(newNames))) end program. // 运行函数。** begin program python3. lowerCaseVars() end program. 请注意,我们首先_定义_一个 Python 函数,然后_运行_它。像这样,您可以开发一个包含多个此类函数的 SPSS 语法文件。 只需运行此文件一次(最好使用 INSERT)即可定义所有 Python 函数。您现在可以将它们用于您将在 SPSS 会话期间处理的所有项目。 编写您自己的 Python 模块 ---------------- 我们刚刚定义并运行了一个函数。下一步是将我们的函数移动到 Python 文件中:一个扩展名为 .py 的纯文本文件,我们将其放置在 C:\\Program Files\\IBM\\SPSS Statistics\\Python3\\Lib\\site-packages 或我们站点的任何位置 -包文件夹位于。  现在我们可以使用[Notepad][8] 编辑这个文件,它比 SPSS 的语法编辑器好得多。由于 Python 文件仅包含 Python,因此我们将省略 BEGIN PROGRAM PYTHON3。和结束程序。  如果我们现在将模块导入 SPSS,我们可以轻松运行它包含的任何函数,如下所示。 //创建空测试数据。 data list free/V1 V2 v3 v4 EDUC gender SAlaRY. begin data end data. //导入模块和小写变量名。 begin program python3. import ruben ruben.lowerCaseVars() end program. 开发和使用我们自己的Python模块有很大的优势: - 每个函数仅定义一次,并且不会使我们的语法窗口变得混乱; - 如果我们需要修正某个功能,我们只需要在一个可以被多个SPSS语法文件使用的模块中进行修正; - 我们可以在模块的函数内使用函数。这样做可以使我们的代码更短并且更易于管理。 快速提示:如果您正在开发模块,请在每次编辑后重新加载它。 **\*提示:如果您正在编辑模块,请在每次使用前重新加载。** begin program python3. import ruben,importlib # import ruben and importlib modules importlib.reload(ruben) # use importlib to reload ruben module ruben.lowerCaseVars() # run function from ruben module end program. 创建 SPSS 扩展 ---------- SPSS 扩展是所有 SPSS 用户都可以开发的工具,用于执行各种任务。有关 SPSS 扩展的优秀集合,请访问[SPSS 工具 - 概述][9]。 扩展易于安装,通常可以从 SPSS 菜单对话框运行,如下所示。  那么它是如何工作的以及它与 Python 有什么关系呢? 大多数扩展都定义了新的 SPSS 语法命令。这些与 FREQUENCIES 或 DESCRIPTIVES 等内置命令没有太大区别。[下面的语法显示了SPSS - 创建所有散点图工具][10]的示例。 //Fit all possible curves for 4 predictors onto single dependent variable. SPSS TUTORIALS SCATTERS YVARS=costs XVARS=alco cigs exer age OPTIONS ANALYSIS=FITALLTABLES ACTION=RUN. 现在,运行此 SPSS 语法命令基本上将其参数(例如输入/输出变量、值或标题)传递到基础 Python 函数并运行它。该 Python 函数又创建并运行 SPSS 语法,完成最终工作。 **请注意**,SPSS 用户在运行此语法时看_不到任何 Python - 除非他们可以使 Python 代码崩溃。为了实际查看 Python 代码,您可以解压缩 SPSS 扩展 (.spe) 文件并在结果文件夹中查找一些 Python (.py) 文件。  解压缩 SPSS 扩展名 (.spe) 文件会生成一个文件夹,您通常会在其中找到 Python (.py) 文件 关于 SPSS 扩展的最后一点需要注意的是,开发它们非常具有挑战性,需要大量练习。然而,编写良好的扩展可以在未来几年为您节省大量时间和精力。 [1]: https://www.spss-tutorials.com/spss-python-basics [2]: #spss-python-essentials [3]: #run-python-from-spss-syntax-window [4]: #wrap-python-code-into-functions [5]: #write-your-own-python-module [6]: #create-an-spss-extension [7]: https://www.spss-tutorials.com/spss-what-is-it/ [8]: https://notepad-plus-plus.org/ [9]: https://www.spss-tutorials.com/tools/ [10]: https://www.spss-tutorials.com/spss-create-all-scatterplots-tool/
2023-10-01 18:42 by admin
107
0
热门文章
1
clashX 设置白名单,忽略本地hosts测试域名的代理设置。
2
验证性因子分析步骤以及应达到的标准
3
Spss详细图文教程——问卷信度和效度检验步骤图解
4
信度效度分析的注意事项
5
MATLAB时代的七种开源替代方案