【问题标题】:Can't delete sysmis spss variables无法删除 sysmis spss 变量
【发布时间】:2015-12-11 11:32:06
【问题描述】:

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

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

【问题讨论】:

    标签: variables spss


    【解决方案1】:

    IF 命令不能以您正在尝试的这种方式工作。它根据具体情况进行操作,即 IF 一个案例符合某个标准 THEN 将某个转换应用于 THAT CASE ONLY(不是变量作为一个整体)。

    如果您不需要动态搜索空变量(这可以使用 python - 见下文),那么您只需要DELETE VARIABLES 命令(或者ADD FILESMATCH FILES 命令都实现完全相同结果 - 除了DELETE VARIABLES 不需要挂起的转换,所以在这种情况下,我个人更喜欢ADD FILESMATCH FILES)。

    这三个命令中的任何一个都足够了:

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

    但是,如果你需要动态检查一个变量是否为空,然后只删除它,那么你可以使用 python 来做到这一点。

    您需要为您的 SPSS 版本和 spssaux2 模块安装并正确设置 python 集成,并将其保存在 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.
    

    【讨论】:

      【解决方案2】:

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

      COUNT(SYSMIS(V1)) 如果它等于您的案例(数据文件上的行)计数,那么您可以删除变量 V1。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-24
        • 2020-03-31
        • 1970-01-01
        • 2019-11-30
        相关资源
        最近更新 更多