【问题标题】:SPSS Populate Scratch Variable with Standard DeviationSPSS 使用标准偏差填充临时变量
【发布时间】:2018-01-19 21:17:01
【问题描述】:

我刚刚学习 SPSS,我有 PL/SQL 和 T-SQL 的背景

我有一个数据集,需要根据与特定变量均值的偏差进行三组

高于平均值的 1 个标准差

低于平均值的 1 个标准差

所有其他

我想使用临时变量,但不知道如何找到现有变量的标准偏差并将其填充到临时变量中以用于我的分组条件。

任何帮助表示赞赏

【问题讨论】:

    标签: spss


    【解决方案1】:

    aggregate 命令可以计算变量的 SD 并将其添加到数据集中,如下所示:

    aggregate/outfile=* mode=addvariables/break= 
            /SDyourvar=sd(yourvar) /MEANyourvar=mean(yourvar).
    

    现在您可以使用变量来创建像这样的组:

    do if yourvar < (MEANyourvar - SDyourvar).
       compute group=-1.
    else if yourvar > (MEANyourvar + SDyourvar).
       compute group=1.
    else.
       compute group=0.
    end if.
    

    或者更短的版本:

    compute group=(yourvar > (MEANyourvar+SDyourvar)) - (yourvar < (MEANyourvar-SDyourvar)).
    

    【讨论】:

    • 好吧,我稍微更新了你的 cod,如下 AGGREGATE /OUTFILE =* OVERWRITE=YES MODE=ADDVARIABLES /BREAK= /SDhealth=SD(Health) /MEANhealth=MEAN(Health)。如果健康 (MEANhealth + SDhealth)。计算健康组=1。别的。计算健康组=0。万一。效果很好,但是它在 SDhealth MEANhealth 和 HealthGroup 的数据集中创建了变量我希望 SDhealth 和 MEANhealth 在临时变量中以保持我的数据集更清洁,这可能吗?
    • 唉,您不能在 aggregate 中定义临时变量。但是你可以在使用后删除这些变量(运行execute.之后):delete vars var1 var2.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-09
    • 1970-01-01
    • 1970-01-01
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多