proc glm プロシジャを使用すると,デフォルトで箱ひげ図が表示されます。
その表示された箱ひげ図に外れ値がある場合,既定の範囲を超えるとその外れ値に対して,
入っているデータのobs番号が横につくのですが,このobs番号を表示させない方法を
知っている人がいれば,教えていただけますでしょうか。
オプションはないので、ODSグラフ機能のテンプレートを直接編集する必要があると思います。
今回の場合BOXPLOTステートメントのDATALABEL=オプションを外せばよさそうです。
boxplot y=_Y_OBS x=_XVAR_OBS / labelfar=true datalabel=_Y_OBS primary=true;
proc template;
define statgraph Stat.GLM.Graphics.FitBoxPlot;
notes "効果プロット (x=CLASS) ";
dynamic _TITLE _XLABEL _SHORTXLABEL _YLABEL _SHORTYLABEL _RESPONSENAME _RESPONSELABEL _DATALABEL _DISPLAYMISSING _XVAR_OBS
_Y_OBS _FREQ _WEIGHT _OVERALLF _OVERALLP _SHOWINSET _byline_ _bytitle_ _byfootnote_;
BeginGraph / includemissingdiscrete=_DISPLAYMISSING;
entrytitle "Testing - 分布 : " _RESPONSENAME;
layout overlay / yaxisopts=(griddisplay=auto_on label=_YLABEL shortlabel=_SHORTYLABEL) xaxisopts=(label=_XLABEL
shortlabel=_SHORTXLABEL discreteopts=(tickvaluefitpolicy=rotatethin));
boxplot y=_Y_OBS x=_XVAR_OBS / labelfar=true primary=true;
if ((_SHOWINSET EQ 1) AND EXISTS(_OVERALLF))
layout gridded / columns=2 halign=left border=true BackgroundColor=GraphWalls:Color Opaque=true autoalign=(
TopRight TopLeft BottomRight BottomLeft);
entry halign=left "F" / valign=top;
entry halign=right eval (PUT(_OVERALLF,7.2)) / valign=top;
entry halign=left "確率 > F" / valign=top;
entry halign=right eval (PUT(_OVERALLP,PVALUE6.4)) / valign=top;
endlayout;
endif;
endlayout;
if (_BYTITLE_)
entrytitle _BYLINE_ / textattrs=GRAPHVALUETEXT;
else
if (_BYFOOTNOTE_)
entryfootnote halign=left _BYLINE_;
endif;
endif;
EndGraph;
end;
run;
編集したテンプレートを削除するときは以下になります。
proc template;
delete Stat.GLM.Graphics.FitBoxPlot;
run;
オプションはないので、ODSグラフ機能のテンプレートを直接編集する必要があると思います。
今回の場合BOXPLOTステートメントのDATALABEL=オプションを外せばよさそうです。
boxplot y=_Y_OBS x=_XVAR_OBS / labelfar=true datalabel=_Y_OBS primary=true;
proc template;
define statgraph Stat.GLM.Graphics.FitBoxPlot;
notes "効果プロット (x=CLASS) ";
dynamic _TITLE _XLABEL _SHORTXLABEL _YLABEL _SHORTYLABEL _RESPONSENAME _RESPONSELABEL _DATALABEL _DISPLAYMISSING _XVAR_OBS
_Y_OBS _FREQ _WEIGHT _OVERALLF _OVERALLP _SHOWINSET _byline_ _bytitle_ _byfootnote_;
BeginGraph / includemissingdiscrete=_DISPLAYMISSING;
entrytitle "Testing - 分布 : " _RESPONSENAME;
layout overlay / yaxisopts=(griddisplay=auto_on label=_YLABEL shortlabel=_SHORTYLABEL) xaxisopts=(label=_XLABEL
shortlabel=_SHORTXLABEL discreteopts=(tickvaluefitpolicy=rotatethin));
boxplot y=_Y_OBS x=_XVAR_OBS / labelfar=true primary=true;
if ((_SHOWINSET EQ 1) AND EXISTS(_OVERALLF))
layout gridded / columns=2 halign=left border=true BackgroundColor=GraphWalls:Color Opaque=true autoalign=(
TopRight TopLeft BottomRight BottomLeft);
entry halign=left "F" / valign=top;
entry halign=right eval (PUT(_OVERALLF,7.2)) / valign=top;
entry halign=left "確率 > F" / valign=top;
entry halign=right eval (PUT(_OVERALLP,PVALUE6.4)) / valign=top;
endlayout;
endif;
endlayout;
if (_BYTITLE_)
entrytitle _BYLINE_ / textattrs=GRAPHVALUETEXT;
else
if (_BYFOOTNOTE_)
entryfootnote halign=left _BYLINE_;
endif;
endif;
EndGraph;
end;
run;
編集したテンプレートを削除するときは以下になります。
proc template;
delete Stat.GLM.Graphics.FitBoxPlot;
run;
オプションとして,表示させないという機能はないんですね。
もし削除したかったら,テンプレート機能を使うしかないことですね。
プログラムを教えていただきありがとうございます。
将来的にオプション機能で追加されることを願っておきます。
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!