【问题标题】:It is possible to use python in SPSS to bypass limitations of the SPSS syntax (f.ex. in loops)?可以在 SPSS 中使用 python 来绕过 SPSS 语法的限制(f.ex. in loops)吗?
【发布时间】:2014-03-10 12:42:55
【问题描述】:

您可以使用 python 来自动化SPSS 中的事情或缩短方式,但我需要知道是否可以用 python 替换 SPSS 语法,例如在循环中聚合数据等。

或者另一个例子。我有 2 个日期集,其中包含以下变量 id、begin、end 和 type。这是 可以将它们放入不同的数组/列表中,然后比较数组/列表,以便最后我有一个新的表/数据集 具有不匹配条目和具有 SPSS 中匹配条目的数据集。 我的想法是扩展 SPSS 中匹配文件的上下文。

通常的编程语言,如 python 或 php 可以处理这个问题。

对不起。我希望有人能理解我的意思。

【问题讨论】:

  • 您具体使用哪个 SPSS?你有链接吗?我也想知道为什么你说“你可以用 Python 自动化 SPSS 中的过程”然后“我想用 Python 替换 SPSS 语法”。这两种说法怎么可能是真的?
  • 我使用的是 SPSS 统计包版本 22。Python 是安装的一部分。作为自动化的简单示例,您可以在这里找到link
  • 替换SPSS语法意味着使用代替“匹配文件”的python代码进行匹配。就像示例中提到的两个数据集一样。

标签: python spss


【解决方案1】:

有很多方法可以用 Python 做这种事情。 SPSS 模块 Dataset 类允许您读取和写入案例数据。 spssdata 模块提供了一种更简单的方法来执行此操作。安装 Python Essentials 时会包含这些内容。 the SPSS Community website 还提供实用程序模块。特别是,扩展的 Transforms 模块提供了标准查找功能和基于区间的查找。

不过,我不确定标准 MATCH FILES 是否无法满足您的需求。不匹配会在变量中产生缺失数据,您可以根据该标准选择子集。

【讨论】:

  • 我认为这些提示似乎很有用,我必须尝试一下。因此我需要一些时间来测试模块。谢谢。
  • here 描述的最后一个问题和我的很相似。
【解决方案2】:

这个问题解释了如何在 Python 代码中导入 SPSS 数据集的几种方法:Importing SPSS dataset into Python

之后,您可以使用标准的 Python 工具对其进行分析。

注意:我在简单地格式化文本文件中的数据方面取得了一些成功。然后我可以使用任何差异工具来比较文件。

这种方法的优点是通常很容易编写文本导出器,这些导出器对数据进行排序,使 diff 工具更容易查看相似之处。

缺点是文本仅适用于简单的情况。当您的数据具有递归结构时,文本并不理想。在这种情况下,请尝试使用 XML 差异工具。

【讨论】:

  • 感谢您的回答。我不仅想比较文件。相反,我想通过 id 和开始/结束日期匹配条目。例如,数据集 2 中的课程与数据集 1 中的正确人员及其对应的时间段或成员资格相匹配。这必须逐行完成,如果有没有课程的成员或没有相应成员的课程,我必须仔细查看。
  • 我明白了;请记住,这里的答案不仅适合您。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 2016-10-15
  • 1970-01-01
相关资源
最近更新 更多