* Тема: Cравнение данных по каждому наблюдению со средним значением по всем прочим наблюдениям. * Ключевые слова: среднее, перебор, сравнение, больница, группа, макрос. * Опубликован: 17.01.2003 в SPSSX-L, перевод: 27.10.2008. * Автор: Raynald Levesque. * Перевод: А. Балабанов. * Размещение: http://www.spsstools.ru/Syntax/T-Test/CompareMeanOfEachWithMeanOfAllOthers.txt (.sps). * Проверено: SPSS 15.0.0. *(Вопрос) У меня имеются данные по 203 больничным центрам, и я хочу сравнить данные каждого из этих 203 центров со средним значением по всем остальным 202 больницам. Данные записаны в формате 1 строка на 1 больницу и выглядят примерно так: Id var1 id2 3 1.5 1 5 2.3 0 18 1.4 0 . . . . . . . . . 203 2.5 0 Я знаю, что мог бы вручную запрограммировать это на синтаксисе примерно так:: Compute id2=0. Do if id=3. Compute id2=1. End if. Exe. MEANS TABLES=var1 BY id2 /CELLS MEAN COUNT STDDEV. Compute id2=0. Do if id=5. Compute id2=1. End if. И т.д... для всех 203 больниц. * (Ответ) Размещён в SPSSX-L, автор: Raynald Levesque, 17.01.2003. DATA LIST LIST /id var1. BEGIN DATA 3 1.5 7 2.2 11 3.1 14 2 17 2.3 18 1.9 21 2.2 END DATA. *///////////. DEFINE !doit(nb=!TOKENS(1)) COMPUTE casen=$CASENUM. !DO !cnt=1 !TO !nb. COMPUTE id2=0. IF casen=!cnt id2=1. MEANS TABLES=var1 BY id2 /CELLS MEAN COUNT STDDEV. !DOEND !ENDDEFINE. *///////////. SET MPRINT=yes. !doit nb=7. SET MPRINT=no. * (в данном случае следует вызвать макрос с параметром=203).