【问题标题】:Selecting cases based on values in previous cases根据先前案例中的值选择案例
【发布时间】:2019-05-23 13:51:06
【问题描述】:

我在 SPSS 中有以下列表:

Subjekt    Reactiontime       correct/incorrect
1          x                  1
1          x                  0
1          x                  1
1          x                  0

我现在想选择“0”之后的所有行/案例(在正确/不正确的列中),因为我想计算“0”之后的所有反应时间的平均值。

如何在 SPSS 中做到这一点?

【问题讨论】:

    标签: spss


    【解决方案1】:

    执行此操作的一种方法是在 correct 字段中添加一列来跟踪前一行是否等于 0,然后计算这些情况的平均值 Reactiontime

    首先让我们创建一个变量来标记我们希望包含在平均值中的案例。

    * set prev_correct to 0 if the prior case was 0 .
    IF (LAG(correct)=0) prev_correct=0 .
    * else set to -1 .
    RECODE prev_correct (SYSMIS=-1) .
    EXE .
    

    现在我们可以计算平均反应时间,除以我们的新变量。

    MEANS Reactiontime BY prev_correct /CELLS MEAN .
    

    或者,如果我们只想在 prev_correct=0 时输出平均值。

    TEMP .
    SELECT IF prev_correct=0 .
    MEANS Reactiontime /CELLS MEAN .
    

    【讨论】:

    • @svenni 如果我们的回答对您有用,请告诉我们。请跟进this
    【解决方案2】:

    这是一个更短的方法(虽然不如@user45392 的完整过程通用):

    if lag(correct)=0 ReactiontimeAfter0=Reactiontime.
    

    现在你可以运行means ReactiontimeAfter0

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-12
      • 1970-01-01
      • 2014-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-10
      相关资源
      最近更新 更多