Search code examples
spss

How can I loop this script from 1 to 50 in SPSS?


for i=1:50

DATASET ACTIVATE DataSet1.
QUICK CLUSTER ZlnPrice ZCPUGhz ZWeightgramm ZDisplayinch ZCameraMp
  /MISSING=LISTWISE
  /CRITERIA=CLUSTER(i) MXITER(10) CONVERGE(0)
  /METHOD=KMEANS(NOUPDATE)
  /PRINT INITIAL.

end

I'd like to loop CLUSTER(i) from 1 to 50. How can I solve this problem? I'd like to avoid brute force.


Solution

  • There are several ways. One is to make a macro function.

    define !myloops()
    !do !i = 1 !to 50
    QUICK CLUSTER ZlnPrice ZCPUGhz ZWeightgramm ZDisplayinch ZCameraMp
      /MISSING=LISTWISE
      /CRITERIA=CLUSTER(i) MXITER(10) CONVERGE(0)
      /METHOD=KMEANS(NOUPDATE)
      /PRINT INITIAL.
    !doend
    !enddefine.
    
    Select and Run that - read into processor memory.
    
    Then issue commands.
    DATASET ACTIVATE DataSet1.
    !myloops.
    
    You're there.