从SPSS数据集中删除观测值



我想从我的SPSS表中删除一些观察值,如果值满足,例如:

如果product + value从列满足,我想删除它/使其为SYSMIS(只有这个观测值,这一行的另一列的观测值仍然需要可用,所以make标志和临时选择是不够的)

尝试了以下几种方法:

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语法教程来节省很多工作。这里有一个不错的网站。

在目前的情况下,你所需要的是:

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

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

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

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

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

或:

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

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

如果您希望能够暂时过滤行-您可以使用filter命令而不是select

最新更新