Shingoの数学ノート

プログラミングと機械学習のメモ

SASでグラフを描いてみよう(ヒストグラム、箱ひげ図編)

日付:    カテゴリ: SAS


前回の続きです。今回はヒストグラム、箱ひげ図を描いてみようと思います。


グラフを書くための準備

今回もIrisデータセットを使用します。以下のコードを実行してください。

data iris;
  set sashelp.iris;
run;
ods graphics on;
ods graphics /width=16cm height=12cm;

ヒストグラム

ヒストグラムを作成する方法はいくつかあります。1つ目は、univarateプロシジャを使用する方法です。「_numeric_」を使用することで全ての数値変数のヒストグラムを描くことができます。さらに、「insetステートメント」を使用することで、統計量も表示してくれます。


proc univariate noprint data=iris;
  histogram _numeric_;
   inset n="N" (8.0)
   mean="平均" (8.2)
   std="標準偏差" (8.2)
   / header='要約統計量' pos=NE;
run;

結果(一部抜粋)
histogram1

2つ目はsgplotプロシジャを使用する方法です。ビン数を指定したり、カテゴリごとに色分けされたヒストグラムを描いたりすることが可能になります。


title "SpeciesごとのSepalLengthのヒストグラム";
proc sgplot data=iris;
  histogram SepalLength /group=Species nbins=20;
run;

結果
histogram2

箱ひげ図

箱ひげ図も方法がいくつかあります。まずはunivariateプロシジャを使う方法から。


title "Speciesごとの箱ひげ図";
proc univariate data=iris plot;
  var _numeric_;
  by Species;
run;

結果(一部抜粋)
boxplot1

数値変数すべての箱ひげ図を出してくれますが、箱ひげ図以外にもたくさん出力されちゃいます。


次はsgplotプロシジャを使う方法です。

title "SpeciesごとのSepalLengthの箱ひげ図";
proc sgplot data=iris;
  vbox SepalLength /group=Species;
run;

結果
boxplot2

変数を指定する必要がありますが、綺麗に描くことができます。


ヒストグラムと箱ひげ図

ヒストグラムと箱ひげ図を同時に見たいときはttestプロシジャを使いましょう。


title "ヒストグラムと箱ひげ図";
proc ttest data=iris plots(only)=summary;
run;

結果(一部抜粋)
ttest

Comment Box is loading comments...