【问题标题】:Removing observations from SPSS Dataset从 SPSS 数据集中删除观察值
【发布时间】:2021-03-10 22:01:20
【问题描述】:

如果值符合,我想从我的 SPSS 中的表中删除一些观察结果,例如:

如果产品 + 列中的值满足,我想将其删除/使其成为 SYSMIS(仅此观察,该行的另一列的观察需要仍然可用,因此制作标志和临时选择是不够的)

尝试了几种方法,例如:

    RECODE VAR2(If(PRODUCT=1 AND VAR2=2000) = SYSMIS)(ELSE=COPY)
EXECUTE.

 IF(PRODUCT=1 AND VAR2=2000) RECODE VAR2(SYSMIS)(ELSE=COPY)
EXECUTE.

这些都不行

除了从原始数据中删除观察结果之外,还有其他方法可以删除观察结果吗?我想避免它

【问题讨论】:

    标签: spss


    【解决方案1】:

    您可以通过查找一些基本的 spss 语法教程来节省大量工作。请参阅here 了解一个好的网站。

    在当前情况下,您只需要这样:

    If PRODUCT=1 AND VAR2=2000 VAR2=$SYSMIS.
    

    要使您的语法适用于recode,您可以这样做:

    DO IF (PRODUCT=1 AND VAR2=2000).
      RECODE VAR2 (ELSE=SYSMIS).
    END IF.
    

    【讨论】:

    • 你好。它工作得很好。确实它是基本语法,我学到了一点,但是我从来没有听说过 SPSS 中的 $ 符号,因此看起来它恰好需要一个所指的单元格。这是我需要的
    【解决方案2】:

    听起来您可能不想删除原始数据,而只是对数据子集运行分析。在这种情况下,请使用SELECT IF

    SELECT IF (PRODUCT=1 AND VAR2=2000).
    

    或者:

    SELECT IF NOT (PRODUCT=1 AND VAR2=2000).
    

    这将删除任何不符合条件的行,因此所有后续分析将只包括符合条件的行。

    如果您只想暂时过滤行 - 您可以使用 filter 命令而不是 select

    【讨论】:

      猜你喜欢
      • 2022-08-14
      • 2020-02-12
      • 2013-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多