Запуск макроса с разными наборами параметров из файла данных
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | *ВОПРОС: * Мне нужно создать файлы с параметрами, которые я потом буду использовать для генерации данных.. * Например, мне нужно сделать 4 файла данных, в каждом из которых содержатся переменные, сгенерированные с параметрами, которые содержатся в файле, приведённом ниже (DATA LIST). * Так, первый из файлов будет содержать 500 наблюдений 5 переменных, из распределения со стандартным отклонением, равным 15. (nv - число переменных). * ОТВЕТ размещён в SPSSX-L. Автор: rlevesque@videotron.ca, 21.5.2001. * Следующее производит требуемую работу без создания отдельных файлов с параметрами на каждое распределение (создаётся лишь один внешний файл синтаксиса с 4 строками - 4 вызовами макроса, приведённого ниже). *////////////////////. DEFINE !test2 (numsubs=!TOKENS(1) /sd=!TOKENS(1) /nv=!TOKENS(1)) INPUT PROGRAM. VECTOR r(!nv,F8.2). LOOP id = 1 TO !numsubs. + LOOP #cnt=1 TO !nv. + COMPUTE r(#cnt) = RV.NORMAL(1,!sd). + END LOOP. END CASE. END LOOP. END FILE. END INPUT PROGRAM. EXECUTE. CORRELATIONS r1 TO !CONCAT(r,!nv) / STATISTICS=DESCRIPTIVES. !ENDDEFINE. *////////////////////. *----------------------------------------------. DATA LIST FREE / id(F8.0) numsubs(F8.0) sd(F8.2) nv(F8.0) . BEGIN DATA. 1.00 500.00 15.00 5.00 2.00 200.00 15.00 10.00 3.00 100.00 15.00 15.00 4.00 500.00 15.00 20.00 END DATA. EXECUTE. WRITE OUTFILE 'c:\\temp\\run macro.sps' /"!test2 numsubs="numsubs" sd="sd" nv="nv".". EXECUTE. INCLUDE FILE='c:\\temp\\run macro.sps'. |
Related pages
...