需要删除没有数据的spss变量(sysmis数据)
命令IF(SYSMIS(V1))DELETE VARIABLES V1。犯规'工作。
答案 0 :(得分:3)
IF
命令无法以这种方式运行,您正在尝试。它根据具体情况运作,即 IF 案例符合某一标准那么将某种转变应用于仅限案例(不是变量作为一个整体)。
如果您不需要动态搜索空变量(可以使用python - 参见下文),那么您只需要DELETE VARIABLES
命令(或者ADD FILES
或MATCH FILES
命令全部实现完全相同的结果 - DELETE VARIABLES
除了不需要挂起的转换外,所以在这种情况下我个人更喜欢ADD FILES
或MATCH FILES
)。
这3个命令中的任何一个都应该足够了:
DELETE VARIABLES v1.
ADD FILES FILE=* /DROP=v1.
MATCH FILES FILE=* /DROP=v1.
但是,如果您需要动态检查变量是否为空,然后只删除它,那么您可以使用python来执行此操作。
您需要安装python集成并正确设置您的SPSS版本和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.
答案 1 :(得分:0)
SYSMIS不是指变量而是指细胞。从你的方法来看,你必须;
COUNT(SYSMIS(V1))如果它等于您的情况(数据文件上的行)计数,那么您可以删除VARIABLES V1。