【问题标题】:Identify rows where a specific pattern change occurs识别发生特定模式变化的行
【发布时间】:2020-05-14 00:36:02
【问题描述】:

简介/背景

我需要在 spss 数据表中分析受访者数据,但我认为最好将此数据复制到 excel 或 google 表中以进行我将要描述的特定分析。

已要求 600 多名参与者回答 100 个问题。参与者将在数据中各有一行,他们对问题的回答将在各自行的从左到右的 100 列中。每个响应将被编码为 1 或 2(这是一个二元响应,每个列/单元格中只提供这两个选项之一)。

数据中应该有一个趋势(从左到右),所有参与者都会到达一个点(即列/单元格),从该点开始,他们从严格响应 1 变为严格响应 2。如果参与者注意并遵循逻辑,那么他们将只回答 2 来回答其余的问题。

分析

我需要确定所有没有在切换到首先提供 2 响应而不是严格 1 响应之后继续严格以 2 响应回答的参与者。

即如果有人回答 1、1、1、1、1、1,然后切换到 2、2、2、2、2,但又切换回 1,而不是继续回答 2 其余问题,我需要确定这些异常值,以便它们可以与数据集的其余部分隔离。

有没有人知道一个函数(在 Excel、谷歌表格或您选择的平台中)可以让我批量识别哪些参与者在第一次将他们的响应更改为 2 后错误地输入了 1。

我希望所有这些都是有道理的,如果有点漫无边际,我很抱歉。

【问题讨论】:

    标签: excel excel-formula google-sheets-formula spss trend


    【解决方案1】:

    您可以为每一行执行TEXTJOIN() 并查找模式“21”(即“2”之后的“1”)。如果找到,这是一个大纲。

    类似如下:

    =IF(ISERROR(FIND("21",TEXTJOIN("",TRUE,[data range of a row]))),FALSE,TRUE)
    

    TRUE 将是一个大纲

    【讨论】:

      【解决方案2】:

      这可以在 SPSS 中轻松完成,无需将数据复制到不同的平台。
      (虽然我喜欢@OliverLeung 的简洁 Excel 单行列!)

      以下代码将遍历变量并查找出现在值 2 之后的值 1。如果发生这种情况,变量 oops 将获得值 1:

      compute pvr=0.
      do repeat vr=var1 to var40.
      if vr=1 and pvr=2 oops=1.
      compute pvr=vr.
      end repeat.
      

      【讨论】:

      • 嗨@eli-k - 为超级迟到的回复道歉!我试图在一个测试数据文件上运行你的 spss 语法,其中只有一行 6 个变量显示提到的模式。不幸的是,它的行为似乎不像预期的那样,我的语法和输出如下:语法:计算 pvr=0。重复 vr=var1 到 var6。如果 vr=1 且 pvr=2 oops=1。计算 pvr=vr。结束重复。结果/输出文件:如果 vr=1 和 pvr=2 oops=1。感谢任何见解,因为我是 SPSS 的菜鸟!我希望以某种方式突出显示或列出所有具有违规模式的行(在此测试数据集中为 1)
      • 查看数据 - 您会看到已创建一个名为 oops 的新变量。在您的示例中,该变量的值为 1,并且每次在 2 之后有一个 1(否则值为 0)。您现在可以按oops 对文件进行排序或过滤并检查这些情况。您可以运行 freq oops 来查看输出中出现的次数。
      猜你喜欢
      • 1970-01-01
      • 2019-09-19
      • 1970-01-01
      • 2018-04-22
      • 1970-01-01
      • 2016-02-11
      • 1970-01-01
      • 2016-05-25
      • 1970-01-01
      相关资源
      最近更新 更多