1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
* Вопрос: Как отобразить на ящичковой диаграмме (диаграмме "с усами", box plot) количество выбросов в том случае, если имеются несколько выбросов с одинаковыми значениями и точки накладываются друг на друга?.
* Ответил: rlevesque@videotron.ca.

* Идея решения состоит в том, что бы будем выводить на диаграмме метки значений выбросов, которые предварительно сконструируем так, чтобы они показывали число одинаковых значений - А.Б.

*Генерируем пример выборки из нормально распределённой совокупности.
INPUT PROGRAM.
SET SEED=98765413.
LOOP cnt=1 to 200.
COMPUTE var1=RV.NORMAL(100,10).
END CASE.
END LOOP.
END FILE.
END INPUT PROGRAM.

* Введём 4 "выброса", имеющие очень похожие значения.
IF $CASENUM<5 var1=150+$CASENUM/5.

* Округлим значения переменной до ближайших 2.5 единиц (так, чтобы разница между двумя разными числами не была менее 2.5).
* Округление необходимо, иначе точки, показывающие выбросы будут расположены на диаграмме очень близко друг к другу и их метки не будут различимы. Пусть уж они наложатся в одну точку.
* Величина округления зависит от масштаба переменной. Для других переменных она может быть и 100, и 1000 единиц.

COMPUTE var1=RND(var1/2.5)*2.5.
AUTORECODE var1 /INTO var2.

SORT CASES BY var2 (A) .

DO IF $casenum =1.
	COMPUTE varlabel=1.
ELSE IF var2=lag(var2).
	COMPUTE varlabel=lag(varlabel)+1.
ELSE.
	COMPUTE varlabel=1.
END IF.

SORT CASES BY var2 (D) varlabel(D) .

* Смысл следующих действий таков: если значение встречается в выборке более 1 раза, одно из этих значений мы пометим числом, равным частоте этого значения. 
DO IF $casenum =1.
	COMPUTE varlab=varlabel.
ELSE IF (var2<>lag(var2)) & (varlabel>1).
	COMPUTE varlab=varlabel.
END IF.
FORMATS varlab(F8.0).

* Результат: одиночные выбросы никак не помечены - просто кружок, "наложенные" выбросы помечены частотой встречаемости одинаковых значений.
EXAMINE
  VARIABLES=var1 /ID= varlab
  /PLOT BOXPLOT STEMLEAF
  /COMPARE GROUP
  /STATISTICS DESCRIPTIVES
  /CINTERVAL 95
  /MISSING LISTWISE
  /NOTOTAL.