无法删除 sysmis spss 变量

Can't delete sysmis spss variables

需要删除没有数据(sysmis数据)的spss变量

命令 IF(SYSMIS(V1)) DELETE VARIABLES V1。不工作。

IF 命令在您尝试的这种方式下不起作用。它根据具体情况进行操作,即 IF 一个案例符合特定条件 THENTHAT CASE 应用特定转换ONLY(不是一个整体的变量)。

如果您不需要动态搜索空变量(使用 python 是可能的 - 见下文),那么您所需要的只是 DELETE VARIABLES command (or alternatively ADD FILES or MATCH FILES 命令,所有这些都实现完全相同的结果 - 使用DELETE VARIABLES 的例外情况不需要挂起的转换,所以在这种情况下我个人更喜欢 ADD FILESMATCH FILES).

这 3 个命令中的任何一个都应该足够了:

DELETE VARIABLES v1.
ADD FILES FILE=* /DROP=v1.
MATCH FILES FILE=* /DROP=v1.

但是,如果您需要动态检查变量是否为空,然后仅将其删除,那么您可以使用 python 来执行此操作。

您需要为您的 SPSS 版本安装 python 集成并正确设置,并下载 spssaux2 模块并将其保存在 SPSS 可以找到的适当位置,以便下面的工作:

DATA LIST FREE / A B C D.
BEGIN DATA 
1 2 3 4 5 6 7 8 9 10 11 12
END DATA. 
COMPUTE C=$SYSMIS.
DATASET NAME DSSIM.

BEGIN PROGRAM.
import spssaux2
spssaux2.FindEmptyVars(delete=True)
END PROGRAM.

SYSMIS 指的不是变量而是单元格。根据您的方法,您必须 ;

COUNT(SYSMIS(V1)) 如果它等于你的情况(数据文件上的行)计数那么你可以删除变量 V1.