【问题标题】:Compute function to create variable that meets multiple conditions计算函数来创建满足多个条件的变量
【发布时间】:2020-07-30 17:57:44
【问题描述】:

我正在尝试在 SPSS 中编写语法,该语法使用计算变量命令创建一个新变量,该变量查看 5 个其他比例变量,并在五个变量中找到值大于或等于 0.80 的最小变量。

例如,

        CAT1 CAT2 CAT3 CAT4 CAT5
CASE 1  0.75 0.82 0.85 0.90 0.95
CASE 2  0.65 0.75 0.82 0.87 0.95

对于情况 1,计算变量将返回值 2。对于情况 2,它将返回值 3。

我很难过 - 最初我认为它可以与条件 MIN 语句一起使用,但它不起作用。认为它可能需要一个 IF/THEN,但我希望有人有一个更有效的解决方案。谢谢。

【问题讨论】:

    标签: spss


    【解决方案1】:

    SPSSX-L 列表中已经提供了几个答案。

    【讨论】:

      【解决方案2】:

      如果所有类别都小于 0.8,此语法将在 NewVar 中留下零:

      *creating sample data.
      data list  list/ CAT1 to CAT5.
      begin data
      0.75 0.82 0.85 0.90 0.95
      0.65 0.75 0.82 0.87 0.95
      end data.
      
      *calculating NewVar: the index number of the minimum category that is GE 0.8.
      compute NewVar=0.
      compute #tmp=max( CAT1 to CAT5)+1.
      DO REPEAT cat=cat1 to cat5 / VL= 1 to 5.
        do if cat>=0.80 .
            if cat<#tmp NewVar=VL.
            compute #tmp=cat.
        end if.
      END REPEAT.
      EXECUTE.
      

      【讨论】:

        猜你喜欢
        • 2013-10-14
        • 1970-01-01
        • 1970-01-01
        • 2020-10-23
        • 1970-01-01
        • 2017-09-11
        • 2020-09-08
        • 2018-04-06
        相关资源
        最近更新 更多