#sas #boxplot
#sas #boxplot
Вопрос:
У меня есть следующий образец данных
Y X1 X2 X3 X4 ...
123 121 214 241 241
431 143 141 241 124
214 124 214 142 241
531 432 134 412 124
243 124 134 134 123
Мне было бы интересно построить график с использованием графических графиков данных, приведенных выше. В частности, я хотел бы иметь на оси x X1, X2, … и на оси y информацию о значениях в каждом столбце в виде графического графа.
Однако, поскольку я хотел бы визуально определить соответствующее значение Y’value (например, для max X1 будет 531), я подумал об использовании некоторых меток.
Для создания графического графа я использую
ods graphics off;
proc boxplot data=test;
plot Y*X;
run;
где X —
X Y
X1 121
X1 143
X1 124
X1 432
... ...
X2 214
X2 141
X2 214
...
Однако, как показано выше, я теряю значения Y (т.Е. 123, 431, …).
Есть ли какой-либо способ сохранить эту информацию также на графике (box)? Любые другие идеи также будут учтены и оценены.
Ответ №1:
Перенесите свои данные, и вы сможете использовать Proc SGPLOT
оператор HBOX
.
Пример:
data have;
input
Y X1 X2 X3 X4 ;
datalines;
123 121 214 241 241
431 143 141 241 124
214 124 214 142 241
531 432 134 412 124
243 124 134 134 123
;
proc transpose data=have out=tall (rename=col1=x);
by y notsorted;
var x1-x4;
run;
ods html file='hbox-plot.html';
proc sgplot data=tall;
hbox x / category=y;
yaxis type=linear;
run;
ods html close;
приведет к
Комментарии:
1. Спасибо, Ричард. Я подумал, что, возможно, использование вторичной оси может решить проблему. Что вы думаете? Это что-то выполнимо в SAS?
2. Процедуры построения графиков SAS часто предусматривают вторую ось. У вас также есть возможность программно аннотировать график или график.