* Тема: замена значений, превосходящих определённую величину, средним по оставшимся значениям.
* Ключевые слова: замена, среднее, условие.
* Опубликован: 16.06.2008.
* Автор: Ray.
* Перевод: А. Балабанов.
* (Вопрос) Как мне можно заменить значения переменной hrt, которые превосходят 480,
средним значением, подсчитанным по значениям той же переменной, не превосходящим 480?.
* (Ответ) Размещён в новостной группе spss, автор: Ray, 17.04.2002.
* http://www.spsstools.net.
* Пример данных.
DATA LIST LIST /hrt clientid linenum.
BEGIN DATA
485 1002 1
280 1002 2
100 1002 3
420 1002 4
410 1002 5
510 1002 6
END DATA.
LIST.
* Решение.
SAVE OUTFILE='c:\temp\ori data.sav'.
SELECT IF hrt<=480.
COMPUTE nobreak=1.
AGGREGATE
/OUTFILE='C:\temp\mean.sav'
/BREAK=nobreak
/meanhrt = MEAN(hrt).
GET FILE='c:\temp\ori data.sav'.
COMPUTE nobreak=1.
MATCH FILES /FILE=*
/TABLE='C:\temp\mean.sav'
/BY=nobreak.
IF hrt>480 hrt=meanhrt.
* Удаляем ненужные переменные.
ADD FILES FILE=* /DROP=meanhrt nobreak.