見出し画像

SASの色々5

分析屋のH.Wです。
今回は要約統計量の算出をやります。

①このデータセットを使用します。


AGE=年齢 HEIGHT=身長

data xxx;
input TRTAN SUBJID $ AGE HEIGHT;
cards;
1 001 22 168
1 002 27 158.5
1 003 42 170.3
2 004 76 162.3
2 005 18 175.5
2 006145.6
2 007 33 158
1 008 53 164.4
1 009 38 186
1 010 50 181.1
2 011 29  .
;
run;


②meansで要約統計量を出す。

proc sort data=xxx; by TRTAN; run;

※meanのbyに入っている変数でsortしないと、means実行時にエラーが出る。

proc means data=xxx alpha=0.1 noprint ;
  var AGE;
  by TRTAN;
  output out =outmeans
  n=n nmiss=nmiss mean=mean std=std stderr=err max=max median=median min=min
  lclm=lc uclm=uc p25=p25 q1=q1 p75=p75 q3=q3
  ;
run;

データセットにはTRTAN=1と2で上下に分かれて、変数が横に並んでで出力される。

各変数の意味

n:数
nmiss:欠損値の数
mean:平均値
std:標準偏差
stderr:標準誤差
max:最大値
median:中央値
min:最小値
lclm:信頼区間の下限
uclm:信頼区間の上限
q1:第一四分位(p25と入れても同じ値が出る)
q3:第三四分位(p75と入れても同じ値が出る)

他にも色々ありますが、使用頻度の多いものを出力しました。
信頼区間は何も指定しないと95%信頼区間になるが、「alpha=」で指定できる。
今は90%信頼区間。

③出力する変数名や変数の個数は変えられる。

proc means data=xxx noprint ;
  var AGE;
  by TRTAN;
  output out = outmeans
  n=n mean=a1 std=a2 max=a3 median=a4 min=a5
  ;
run;

④オプションの部分に出力する変数を入れる。

proc means data=xxx noprint n mean std max median min;
  var AGE HEIGHT;
  by TRTAN;
  output out = outmeans
  ;
run;

varに入れた変数の分だけ要約統計量の算出ができる。
縦積みの形で出力される。

⑤univariateでも同じように出力される。

proc univariate data=xxx alpha=0.1 noprint ;
  var AGE;
  by TRTAN;
  output out = outuni
  n=n nmiss=nmiss mean=mean std=std stderr=err max=max median=median min=min
  p25=p25 q1=q1 p75=p75 q3=q3 probs=p
  ;
run;


meansと違うのは

  • meansで出力できた信頼区間の上限と下限は出力できない。

  • p25とq1、p75とq3は同時に出力できない。

  • univariateだと符号付順位検定などの検定ができる。

など上記以外にも色々あります。

使用頻度が多いのはN数、平均、標準偏差、最大値、最小値、中央値なので、基本的にはどちらでも算出できます。
それ以外の出力する内容次第で、使い分けて行けばよいと思います。


ここまでお読みいただき、ありがとうございました!
この記事が少しでも参考になりましたら「スキ」を押していただけると幸いです!

これまでのシリーズはこちら

株式会社分析屋について

ホームページはこちら。

noteでの会社紹介記事はこちら。

【データ分析で日本を豊かに】
分析屋はシステム分野・ライフサイエンス分野・マーケティング分野の知見を生かし、多種多様な分野の企業様のデータ分析のご支援をさせていただいております。 「あなたの問題解決をする」をモットーに、お客様の抱える課題にあわせた解析・分析手法を用いて、問題解決へのお手伝いをいたします!
【マーケティング】
マーケティング戦略上の目的に向けて、各種のデータ統合及び加工ならびにPDCAサイクル運用全般を支援や高度なデータ分析技術により複雑な課題解決に向けての分析サービスを提供いたします。
【システム】
アプリケーション開発やデータベース構築、WEBサイト構築、運用保守業務などお客様の問題やご要望に沿ってご支援いたします。
【ライフサイエンス】
機械学習や各種アルゴリズムなどの解析アルゴリズム開発サービスを提供いたします。過去には医療系のバイタルデータを扱った解析が主でしたが、今後はそれらで培った経験・技術を工業など他の分野の企業様の問題解決にも役立てていく方針です。
【SES】
SESサービスも行っております。