*(Вопрос) Мне требуется добавить в файл данных 2 новые переменные. Одну, содержащую нижнюю границу доверительного интервала для среднего значения переменной из файла данных и другую, содержащую верхнюю границу того же интервала. *(Ответ) Автор: Raynald Levesque, размещён в SPSSX-L 03.06.2003. *//////////////. DEFINE !AddCInt (vname=!TOKENS(1) /conf=!TOKENS(1) /fname=!TOKENS(1)) SET MPRINT=yes. GET FILE=!fname. /* следующая команда просто для проверки результата работы макроса (посмотреть на доверит. интервал) */ SELECT IF NOT MISSING(!vname). EXAMINE VARIABLES=!vname /COMPARE GROUP /PLOT=NONE /STATISTICS DESCRIPTIVES /CINTERVAL !conf /MISSING LISTWISE /NOTOTAL. COMPUTE nobreak=1. AGGREGATE OUTFILE=* /BREAK=nobreak /N=n /sd_var=SD(!vname) /mean_var=MEAN(!vname). COMPUTE se_mean=sd_var/SQRT(n). COMPUTE lowCI=mean_var - se_mean * IDF.T(1-(100-!conf)/200,n-1). COMPUTE upCI =mean_var + se_mean * IDF.T(1-(100-!conf)/200,n-1). VARIABLE LABELS lowCI !QUOTE(!CONCAT("НГ ",!conf,"% ДИ для среднего значения ",!vname)). VARIABLE LABELS upCI !QUOTE(!CONCAT("ВГ ",!conf,"% ДИ для среднего значения ",!vname)). SAVE OUTFILE='c:\\temp\\temp.sav' /KEEP=nobreak lowCI upCI. GET FILE=!fname. COMPUTE nobreak=1. MATCH FILES FILE=* /TABLE='c:\\temp\\temp.sav' /BY=nobreak. EXECUTE. SET MPRINT=no. !ENDDEFINE. *//////////////. ** Пример 1 (95% ДИ для большой выборки). !addCInt vname=salary conf=95 fname='c:\\Program Files\\SPSS\\Employee data.sav'. ** Пример 2 (90% ДИ для малой выборки). GET FILE='c:\\Program Files\\SPSS\\Employee data.sav'. N OF CASES 15. SAVE OUTFILE='c:\\temp\\eee data.sav'. !addCInt vname=salbegin conf=90 fname='c:\\temp\\eee data.sav'. ** Пример 3 (95% ДИ при наличии пропущенных значений). GET FILE='c:\\Program Files\\SPSS\\Employee data.sav'. * "Сделаем" несколько пропусков. IF UNIFORM(1)<.2 salbegin=$SYSMIS. SAVE OUTFILE='c:\\temp\\eee data2.sav'. !addCInt vname=salbegin conf=95 fname='c:\\temp\\eee data2.sav'.