0

私はしばらくの間、次の sytanx say を 10 回ループさせようとしました。

COMPUTE tempvar=UNIFORM(10).
SORT CASES BY behaviour_code tempvar (A).
SPLIT FILE BY behaviour_code.
COMPUTE tempvar=1.
CREATE filter=CSUM(tempvar).
RECODE filter (1 thru 100=1) (3 thru highest=0).
SPLIT FILE OFF.

DISCRIMINANT
/GROUPS=behaviour_code(1 4)
/VARIABLES=hx hy hz
/SELECT=filter(1)
/ANALYSIS ALL
/PRIORS EQUAL
/STATISTICS=TABLE CROSSVALID
/CLASSIFY=NONMISSING POOLED.
EXECUTE.

構文自体は、各グループから x 個のケースをランダムに選択し、DISCRIMINANT コマンドを実行します。

loop コマンドを使用して次のことを試しました。

SET MXLOOPS=10.
LOOP. 
COMPUTE tempvar=UNIFORM(10).
SORT CASES BY behaviour_code tempvar (A).
SPLIT FILE BY behaviour_code.
COMPUTE tempvar=1.
CREATE filter=CSUM(tempvar).
RECODE filter (1 thru 100=1) (3 thru highest=0).
SPLIT FILE OFF.

DISCRIMINANT
/GROUPS=behaviour_code(1 4)
/VARIABLES=hx hy hz
/SELECT=filter(1)
/ANALYSIS ALL
/PRIORS EQUAL
/STATISTICS=TABLE CROSSVALID
/CLASSIFY=NONMISSING POOLED.
EXECUTE.
END LOOP.

元のスクリプトを特定の回数効果的にリサンプリングするための最良の方法について、誰かアドバイスをいただけませんか?

4

1 に答える 1

0

ループ内にプロシージャを配置することはできません。ただし、SPSS Community Web サイトから Python Essentials をインストールすると、Python プログラミング機能を使用して何でもループできます。

于 2013-03-12T13:55:38.327 に答える