识别发生特定模式更改的行

Identify rows where a specific pattern change occurs

Introduction/background

我需要在 spss 数据 sheet 中分析受访者数据,但我认为最好将此数据复制到 excel 或 google sheets对于我即将描述的这个特定分析。

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

数据中应该有一个趋势(从左到右),所有参与者都会达到一个点(即 column/cell),他们从严格响应 1 变为严格响应 2点往前。如果参与者注意并遵循逻辑,那么他们将只回答 2 的剩余响应。

分析

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

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

有谁知道一个功能(在 excel、google sheet 中或您选择的平台中)可以让我批量识别哪些参与者错误地输入了1 在第一次将他们的响应更改为 2 之后。

我希望所有这些都说得通,如果有点啰嗦,我深表歉意。

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

诸如此类:

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

TRUE 将是大纲

这可以在 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.