* Вопрос: Как отобразить на ящичковой диаграмме (диаграмме "с усами", 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.