sasとexcelによる統計処理minoru/edu/class/hi/excel_sas.pdfclass...
TRANSCRIPT
![Page 1: SASとEXCELによる統計処理minoru/edu/class/hi/Excel_SAS.pdfclass ステートメントには、グループ化変数(2 つの値しかとらない変数)を指定。ここでは、](https://reader033.vdocuments.net/reader033/viewer/2022041619/5e3e1a982e37665afe62aab5/html5/thumbnails/1.jpg)
1
SAS と EXCEL による統計処理
1. はじめに
アンケート調査などで集めたデータを加工、解析するためには、統計ソフトの利用が必須であ
る。本演習では、EXCEL と SAS を使ったデータ解析の方法について説明する。
2. 前準備
EXCEL EXCEL での統計処理は、「関数」を用いる方法と「分析ツール」を用いる方法があるが、ここ
では、「分析ツール」での統計処理について説明する。「分析ツール」はメニューバーの「データ」
から選択する。「分析ツール」が表示されない場合は、「オフィスボタン」→「EXCEL のオプショ
ン」→「アドイン」を選択し、「分析ツール」をクリックし、設定ボタンを押して、「分析ツール」
にチェックを入れて OK ボタンを押す。
SAS
SAS は、医学関連の国際誌に最も使用されている統計パッケージの 1 つで、データを加工、解
析、出力するための総合システムである。
SAS の構造
SAS には、主に 3 つのウィンドウがある。
Program editor ウィンドウ:プログラムを書き込むウィンドウ。
Log ウィンドウ:SAS システムからのメッセージが出力される。
Output ウィンドウ:計算結果が出力。
![Page 2: SASとEXCELによる統計処理minoru/edu/class/hi/Excel_SAS.pdfclass ステートメントには、グループ化変数(2 つの値しかとらない変数)を指定。ここでは、](https://reader033.vdocuments.net/reader033/viewer/2022041619/5e3e1a982e37665afe62aab5/html5/thumbnails/2.jpg)
2
SAS で統計解析を行うためには、SAS 言語を使って、どのデータをどのように解析するかを指
定する文(ステートメント)が必要。これは、主に 2 つのステップで構成されている。
★ DATA ステップ:分析したいデータを指定し、SAS データセットをシステム内に作成する。
データをまとめたり、加工することができる。
★ PROC(プロシージャ)ステップ:SAS データセットにあるデータを用いて、計算・作図・
統計処理などを行う。
SAS のデータセットを作成しよう!! 例)以下のサンプルデータを使って、SAS データセットを作成する。
以下のサンプルデータは、厚生労働省や総務省の統計データから、少子化に関連しそうなデー
タを EXCEL にまとめたものである。都道府県別の合計特殊出生率、母親の初婚年齢、老年人口
割合、教育費割合、実収入、完全失業率が含まれている。
Program editor ウィンドウ
Log ウィンドウ
通常の SAS からのメッセージは青、警告、エラーは
赤字で出力される!
![Page 3: SASとEXCELによる統計処理minoru/edu/class/hi/Excel_SAS.pdfclass ステートメントには、グループ化変数(2 つの値しかとらない変数)を指定。ここでは、](https://reader033.vdocuments.net/reader033/viewer/2022041619/5e3e1a982e37665afe62aab5/html5/thumbnails/3.jpg)
3
※合計特殊出生率・母親
の初婚年齢、老年人口割
合などを変数(variable)、
データに記述されている
各個体(この場合は都道
府県)をオブザベーショ
ン(observation)と呼ぶ。
※変数には、文字型と数
値型がある。ここでは、
都道府県以外すべて数値
型である。
①. まず初めに、EXCEL ファイルを CSV ファイル(カンマ区切り)に変換する。
変換の仕方:「オフィスボタン」→「名前をつけて保存する」→ファイルの種類を「csv」に
変える→ファイル名をつけて保存(ここでは、N ドライブに demo.csv で保存)。
②. SAS を起動させ、データを読み込む。
Program editor に、以下のプログラムを書き込む。
解説
• data test ;
infile ‘N:¥My SAS files¥demo.csv’ delimiter=’,’ ;
Nドライブに保存したデータ(demo.csv)から、testという名前の新しいSASデータセットを
作成する。データセットの名前は、原則として8文字以内の英数字をつける。このデータセッ
トは、一時的にSASデータセットのworkに保存される。
• input id $ birth age old edu income unemp location;
分析のため、変数名を設定する。ここでは、8 つの変数を定義し、データを読み込む。原則
として英数字。文字型変数の後ろには$をつけて、数値と区別する。
• run ; 各ステップの終わりを明確にするマーク。プログラムの最後には必ず run コマンドを入れる。
data test ;
infile 'N:¥My SAS files¥demo.csv' delimiter=',' ;
input id $ birth age old edu income unemp location;
run ;
DATA ステップ ※注意!!
SAS ステートメントの最後
には、必ずセミコロン(;)
をつけること。
![Page 4: SASとEXCELによる統計処理minoru/edu/class/hi/Excel_SAS.pdfclass ステートメントには、グループ化変数(2 つの値しかとらない変数)を指定。ここでは、](https://reader033.vdocuments.net/reader033/viewer/2022041619/5e3e1a982e37665afe62aab5/html5/thumbnails/4.jpg)
4
• submit(実行)
③. データが読み込まれたかどうかを確認するために、出力。
解説
• proc print ; SAS データセットの内容を表示する。data=でデータセットを指定しなければ、直近に作成され
たデータセットの内容が表示される。
④. 永久 SAS データセットの作成
SAS データセットには、「一時 SAS データセット」と「永久 SAS データセット」の 2 種類が
あり、上記のように読み込まれたデータは、いったん「一時 SAS データセット」としてライブラ
リの work に保存される。
クリック!!
proc print ; run ;
PROC ステップ
![Page 5: SASとEXCELによる統計処理minoru/edu/class/hi/Excel_SAS.pdfclass ステートメントには、グループ化変数(2 つの値しかとらない変数)を指定。ここでは、](https://reader033.vdocuments.net/reader033/viewer/2022041619/5e3e1a982e37665afe62aab5/html5/thumbnails/5.jpg)
5
「一時 SAS データセット」は SAS を終了すると保存されずに消えてしまう。SAS データセット
を保存したい場合は、「永久 SAS データセット」を作成して、どこかに物理的に保存しなければ
ならない(例えば、フロッピーやハードディスクに)。
「永久 SAS データセット」を作成するために、以下のプログラムを実行する。
解説
• libname ensyu 'N:¥My SAS files';
永久保存データセットを保存するディレクトリを指定する。ここでは、N ドライブに保存する
ことを指定。その他のドライブを使うときは、書き換える。
• data ensyu.test ;
set test;
test という名前の一時的 SAS データセットからデータを読み込み、ensyu というライブラリ
の中に同じ名前(test)の永久データセットを保存する。
保存したドライブに、test.sas7bdat という SAS システムのデータセットができたかどうかを
確認する。ライブラリ参照名、データセット名は英数字 8 文字以内で好きな名前をつける。
※注意!!!SAS を終了させた後、あらためてスタートさせるときには、libname ステートメン
トを再度サブミットする必要がある。
他にも、SASメニューからEXCELデータを直接読み込んでデータセットを作成する方法もある。
SAS メニューからの EXCEL データの読み込み ファイル→データのインポート→ファイル名の指定→SAS データセット名の指定(例えば、メン
バー:test)→SAS ステートメントの作成(例えば、test.sas)
3. 主なデータ解析
①. 基本統計量(平均・標準偏差)の算出
libname ensyu 'N:¥My SAS files';
data ensyu.test ;
set test;
run;
libname ensyu 'N:¥My SAS files' ;
data ensyu.test ;
set ensyu.test ;
run ;
proc means ;
run ;
![Page 6: SASとEXCELによる統計処理minoru/edu/class/hi/Excel_SAS.pdfclass ステートメントには、グループ化変数(2 つの値しかとらない変数)を指定。ここでは、](https://reader033.vdocuments.net/reader033/viewer/2022041619/5e3e1a982e37665afe62aab5/html5/thumbnails/6.jpg)
6
②. ヒストグラムの確認
横向きのヒストグラムを作成する hbar で集計する変数名を指定。hbar の vbar にすると、縦
方向のヒストグラムを作成する。ヒストグラムでデータの分布を確認しよう!!
③. 相関係数の算出
2 変数間の関連の強さを調べる。ここでは、合計特殊出生率と母親の初婚年齢の相関係数を算出。
proc gchart; hbar birth;
run;
proc corr; var birth age;
run;
相関係数 絶対値が 1 に近いほど強い相関を示す。
有意確率 p p<.05 の場合は、帰無仮説(2 変数間に相
関はない)を棄却できる。
スピアマンの順位相関係数を求めるときは、
proc corr spearman; とする
![Page 7: SASとEXCELによる統計処理minoru/edu/class/hi/Excel_SAS.pdfclass ステートメントには、グループ化変数(2 つの値しかとらない変数)を指定。ここでは、](https://reader033.vdocuments.net/reader033/viewer/2022041619/5e3e1a982e37665afe62aab5/html5/thumbnails/7.jpg)
7
EXCEL 「メニュー」→「データ」→「データ分析」を選択→「相関」を選ぶ。
必要な情報を入力し、OK を押す。
※注意!!EXCEL では、相関係数の有意性(p 値)は算出されないので、別途、無相関の検定を
行わなければならない。
★ 無相関の検定 求めた相関係数と標本数から、t 値、自由度、p 値を算出する。
対象となるデータのセ
ル範囲をマウスでドラ
ッグして指定する。
データの 1 行目が変数
名の場合はチェックを
入れる。
検定統計量 t=ABS(相関係数*SQRT(標本数-2)/SQRT(1-相関係数^2))
自由度=標本数-2
p 値の算出 p=TDIST(t 値,自由度,2)
![Page 8: SASとEXCELによる統計処理minoru/edu/class/hi/Excel_SAS.pdfclass ステートメントには、グループ化変数(2 つの値しかとらない変数)を指定。ここでは、](https://reader033.vdocuments.net/reader033/viewer/2022041619/5e3e1a982e37665afe62aab5/html5/thumbnails/8.jpg)
8
④. t 検定
2 つのグループの平均値に差があるかどうかを調べる。
class ステートメントには、グループ化変数(2 つの値しかとらない変数)を指定。ここでは、
都道府県を東日本と西日本に分けた location を指定した。
EXCEL 「分析ツール」から「t 検定:等分散を仮定した 2 標本による検定」を選択。検定したいデータの
セル範囲を変数 1 と変数 2 に指定する。
proc ttest; class location;
var birth;
run;
等分散性の検定
結果。p<.05 の場
合は、等分散性が
棄却される。
t 検定の結果。
分散が等しい
という仮定下
では、Pooled
の t 値を採用。
変数 1:東日本の合計特殊出生率
変数 2:西日本の合計特殊出生率
![Page 9: SASとEXCELによる統計処理minoru/edu/class/hi/Excel_SAS.pdfclass ステートメントには、グループ化変数(2 つの値しかとらない変数)を指定。ここでは、](https://reader033.vdocuments.net/reader033/viewer/2022041619/5e3e1a982e37665afe62aab5/html5/thumbnails/9.jpg)
9
⑤. 回帰分析
変数間の関係について、要因となる変数(独立変数)が結果となる変数(従属変数)をどれだ
け予測できるのかを調べるときに用いる手法。独立変数が 1 つの場合を「単回帰分析」、複数の場
合を「重回帰分析」という。ここでは、合計特殊出生率を母親の初婚年齢、老年人口割合、教育
費割合、実収入、完全失業率で説明できるかどうかを調べる。
p<.05 の場合は、帰無仮説(2群間の平均値は等しい)を棄却
できる。
proc reg;
model birth=age old edu income unemp /STB; ←目的変数=説明変数にする
run;
p<.05 で回帰式の有
意性が認められる。
決定係数(寄与率)を示す。
1 に近いほど、モデルの当
てはまりが良いと言える。
標準化偏回帰係数:独立変数が従属変数に与える影
響の大きさを示す。
![Page 10: SASとEXCELによる統計処理minoru/edu/class/hi/Excel_SAS.pdfclass ステートメントには、グループ化変数(2 つの値しかとらない変数)を指定。ここでは、](https://reader033.vdocuments.net/reader033/viewer/2022041619/5e3e1a982e37665afe62aab5/html5/thumbnails/10.jpg)
10
※注意!!model ステートメントのオプションに/STB を加えないと、標準化偏回帰係数は算出
されない。回帰係数は、GLM プロシージャでも分析可能。
EXCEL 「分析ツール」から「回帰分析」を選択。必要な情報を入力する。
その他の PROC については、以下のホームページを参考にしてください。
http://peter.rd.dnc.ac.jp/ice/kougi/sas/waseda06a/
http://www.ipc.hokusei.ac.jp/~z00105/_kamoku/sas/sasman_.html
http://www.ipc.hokusei.ac.jp/~z00105/_kamoku/sas/sas_tec.html
入力 Y 範囲には従属変数を
指定する。
入力 X 範囲には
独立変数を指定
する。
※EXCEL では、
標準化偏回帰係
数は算出されな
い。