Макрос, генерирующий исходные данные в пустом редакторе данных
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 | * Во многих макросах используются процедуры, требующие наличия открытого файла данных в редакторе * даже в том случае, если макрос фактически не использует данные. При этом, например, команда * DATA LIST не может быть использована внутри макроса. Однако, перед вызовом процедуры, требующей * наличия данных, может быть вставлен матричный код, создающий данные. Следующий макрос генерирует * значения случайной нормально распределённой величины. * Автор: Fernando Cartwright, Оттава, Канада. * 15.11.2004. NEW FILE. DEFINE mymacro (!POS !TOKENS(1)) /*Начало матричного кода*/ MATRIX. COMPUTE temp=1. COMPUTE mylength=(!1-1). /*Цикл по числу записей, указанных при вызове макроса*/ LOOP i=1 to mylength. COMPUTE temp={temp;1}. END LOOP. /*Сохранение значений вектора в редакторе данных*/ SAVE temp /outfile=* /variables=temp. END MATRIX. COMPUTE random=RV.NORMAL(0,1). EXECUTE. !END DEFINE. /*Запуск макроса с указанием числа записей в новом файле.*/ mymacro 15. |
Related pages
...