うーん。そのマクロを変更する方法はたくさんあります。
あなたが述べた問題の原因は、統計への分散サブコマンドが結果を列全体に保存し、内容を上書きすることです。200 個の個別のサブサンプルを別々の列に格納したい場合は、次のようにします。
GMACRO #Starts the global macro
Resample #Names the macro
Name c202 "Variance" # no need to name this column 200 times!
DO K1=2:201
Sample 16 'Data' CK1;
Replace. #Resampling
Statistics CK1; # Calculate S^2
Variance C203. # into row 1 of temporary column C203
Stack 'Variance' C203 'Variance' # append to end of Variance
ENDDO
erase K1 c203 # clean up
ENDMACRO #Ends the macro
サブサンプルを保存したいが、それらを 2 つの列だけに保存することに満足している場合、これはより適切です。
GMACRO #Starts the global macro
Resample #Names the macro
Name C2 'Sample number' c3 'Sample data'
set 'Sample number' # populate Sample number
(1:200)16
end
DO K1=1:200
Sample 16 'Data' c4;
Replace. #Resampling
Stack C4 'Sample data' 'Sample data' # append to Sample data
ENDDO
Name c4 "Variance"
Statistics 'Sample data';
By 'Sample number';
Variance 'Variance'.
ENDMACRO #Ends the macro
もちろん、置換を伴う 200 x 16 サンプルは、置換を伴う 3200 サンプルと同じであるため、さらにきれいに (そしてはるかに高速に) 次のようになります。
GMACRO #Starts the global macro
Resample #Names the macro
Name C2 'Sample number' c3 'Sample data'
set 'Sample number' # populate Sample number
(1:200)16
end
Sample 3200 'Data' 'Sample data';
replace.
Name c4 "Variance"
Statistics 'Sample data';
By 'Sample number';
Variance 'Variance'.
ENDMACRO #Ends the macro