*Дорогой Рейналь, *Мы тут пытаемся автоматизировать выполнение дисперсионного анализа (ANOVA) с повторными *измерениями для 21 зависимой переменной (каждая измерялась в 3 момента времени). *На данный момент это означает для нас 21 строку вызовов макроса. *Но хотелось бы сделать изящнее. Порадуйте нас своими знаниями, пожалуйста. * Наш макрос. define ovrtime (!positional !enclose ('(',')')). GLM !1 BY treatgrp /WSFACTOR = scales1 3 Polynomial /METHOD = SSTYPE(3) /PLOT = PROFILE( scales1*treatgrp ) /PRINT = DESCRIPTIVE HOMOGENEITY /CRITERIA = ALPHA(.05) /WSDESIGN = scales1 /DESIGN = treatgrp . !enddefine. ovrtime (anger1 anger2 anger3 ). ovrtime (anxm1 anxm2 anxm3 ). ovrtime (ccomm1 ccomm2 ccomm3 ). ovrtime (dcomm1dcomm2 dcomm3 ). *************************. * Решение Рея, 03.03.2001. SET MPRINT=yes. *////////////////////////////. define ovrtime (!positional !enclose ('(',')') /n=!TOKENS(1)). !DO !fact !IN (!1) !LET !varstr=!BLANK(1) !DO !i=1 !TO !n !LET !varstr=!CONCAT(!varstr," ",!fact,!i) !DOEND GLM !varstr BY treatgrp /WSFACTOR = scales1 3 Polynomial /METHOD = SSTYPE(3) /PLOT = PROFILE( scales1*treatgrp ) /PRINT = DESCRIPTIVE HOMOGENEITY /CRITERIA = ALPHA(.05) /WSDESIGN = scales1 /DESIGN = treatgrp . !DOEND !enddefine. *////////////////////////////. ovrtime (anger anxm ccom dcom) n=3.