* Опубликован: 30.12.2005. *ВОПРОС: Требуется макрос, показывающий изменчивость результатов в выборках одного и того же объёма (скажем, 100), позволяющий изменять количество выборок, принимаемых к рассмотрению. Я имею в виду, что хотелось бы подсчитать среднее жалованье по 5 выборкам объёма 100, 10 выборкам того же объёма, 50 выборкам и т.д. (да-да, я хочу продемонстрировать некоторые свойства выборочных распределений, действие теоремы о центральном пределе и т.д., и т.д.). * РЕШЕНИЕ размещено в SPSSX-L Raynald Levesque rlevesque@videotron.ca 09 августа 2001. SET MPRINT=yes. * -------------------DEFINE MACRO ---------------------------------------------. DEFINE !sample(myvar !TOKENS(1) /size !TOKENS(1) /nbsampl !CMDEND) /* myvar = интересующая нас переменная (тут мы хотим узнать среднее жалованье) */ /* nbsampl = количество выборок */ /* size = объём выборок */. !LET !first='1' !DO !ss !IN (!nbsampl) !DO !count = 1 !TO !ss. GET FILE='c:\\Program Files\\SPSS\\employee data.sav'. COMPUTE draw=uniform(1). SORT CASES BY draw. N OF CASES !size. COMPUTE samplenb=!count. COMPUTE ss=!ss. AGGREGATE /OUTFILE=* /BREAK=samplenb /!myvar = MEAN(!myvar) /ss=FIRST(ss). !IF (!first !NE '1') !THEN ADD FILES /FILE=* /FILE='c:\\temp\\sample.sav'. !IFEND SAVE OUTFILE='c:\\temp\\sample.sav'. !LET !first='0' !DOEND. !DOEND. VARIABLE LABEL ss !QUOTE(!CONCAT('Количество выборок объёма ',!size)). EXAMINE VARIABLES=salary BY ss /PLOT=BOXPLOT/STATISTICS=NONE/NOTOTAL /MISSING=REPORT. !ENDDEFINE. * ----------------END OF MACRO ----------------------------------------------. * Вызываем макрос (параметры: количество выборок (здесь 5 10 25 35 50) и размер каждой выборки (здесь 10). * Т.е. будет сделано 5 выборок объёма 10. * 10 выборок объёма 10 и т.д. !sample myvar=salary size=10 nbsampl=5 10 25 35 50.