Search code examples
loopsspss

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

  • I doupt that this makes much sense from a statistical point of view, but here you go.

    Just put the procedure inside a macro loop and execute the macro call:

    DEFINE !cluster_loop ()
    !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.
    
    !cluster_loop.