* ВОПРОС: . * Из множества переменных в моём файле меня интересуют переменные с v191 по v247. * Переменные v191, v192 и v193 формируют группу. * Переменные v194, v195 и v196 формируют другую группу и т.д. * Для каждой группы я хочу вывести список наблюдений, для которых значение первой переменной из группы = 1, а второе =0. * Команда LIST недоступна в циклах loop. Как быть? * ОТВЕТ. Автор: rlevesque@videotron.ca. * Создадим данные для примера. NEW FILE. INPUT PROGRAM. NUMERIC v191 TO v247. LOOP v1=1 TO 20. VECTOR v=v191 TO v247. LOOP #cnt=1 TO 57. DO IF MODE(#cnt,3)=0. COMPUTE v(#cnt)=UNIFORM(1). ELSE. COMPUTE v(#cnt)=UNIFORM(1)>.5. END IF. END LOOP. END CASE. END LOOP. END FILE. END INPUT PROGRAM. EXECUTE. * Определим макрос, он сделает то, что нам нужно. */////////////////////////////////. DEFINE !listvar(). FILTER OFF. !DO !cnt=191 !TO 247 !BY 3. FILTER OFF. COMPUTE L=0. !LET !a1=!CONCAT('v',!cnt). !LET !a2=!CONCAT('v',!LENGTH(!CONCAT(!BLANKS(!cnt)," "))). !LET !a3=!CONCAT('v',!LENGTH(!CONCAT(!BLANKS(!cnt)," "))). IF ( !a1=1 & !a2=0 ) L=1. FILTER BY L. LIST v1 !a1 !a2 !a3. !DOEND. !ENDDEFINE. */////////////////////////////////. *Вызываем макрос. !listvar.