如果值满足,我想从我的 SPSS 中的表格中删除一些观察值,例如:
如果产品+列中的值满足,我想将其删除/使其成为SYSMIS(仅此观察,该行另一列的观察需要仍然可用,因此制作标志和临时选择是不够的)< /p>
尝试了几种方法,例如:
RECODE VAR2(If(PRODUCT=1 AND VAR2=2000) = SYSMIS)(ELSE=COPY)
EXECUTE.
IF(PRODUCT=1 AND VAR2=2000) RECODE VAR2(SYSMIS)(ELSE=COPY)
EXECUTE.
都没有用
除了从原始数据中删除观察值之外,还有其他方法可以删除观察值吗?我想避免它
答案 0 :(得分:2)
您可以通过查找一些基本的 spss 语法教程来节省大量工作。请参阅 here 以获得好的网站。
在目前的情况下,您只需要:
If PRODUCT=1 AND VAR2=2000 VAR2=$SYSMIS.
要使您的语法与 recode
一起使用,您可以这样做:
DO IF (PRODUCT=1 AND VAR2=2000).
RECODE VAR2 (ELSE=SYSMIS).
END IF.
答案 1 :(得分:1)
听起来您可能不想删除原始数据,而只想对数据子集进行分析。在这种情况下,请使用 SELECT IF
:
SELECT IF (PRODUCT=1 AND VAR2=2000).
或者:
SELECT IF NOT (PRODUCT=1 AND VAR2=2000).
这将删除任何不符合条件的行,因此所有后续分析将仅包括符合条件的行。
如果您只想暂时过滤行 - 您可以使用 filter
命令而不是 select
。