1. stata のウインドウについて · グラフの保存も可能 9. ヘルプの使い方...
TRANSCRIPT
1
CLiP 臨床研究解析ハンズオン 第 1 回 統計ソフトの基本的な使い方、データの要約
2013 年 7 月 11 日
1. stata のウインドウについて
・結果表示ウインドウを日本語表示させる
解析結果
の表示
過去
走らせた
コマンド
読込データ
内にある
変数一覧
ここで
右クリック
Font 選択
2
。Stata 11 以降の場合には Color schema→classic を選択しておいた方が、日本語が正しく
表示されます。
好きな日本語フォントを 選択後、OK を押下
(お勧めは HG ゴシック M 等の
等幅フォント 12pt 位)
3
・dta ファイル(データシートのファイル)の読み込み
くれぐれも生データは別に保管し、解析用にコピーした dta ファイルを使用すること。
(生データは厳重に書き変えないように保管しておく)
フォルダアイコ
ンをクリック
各自の
保管場所
を選択、
開くを
押下
変数が出てきましたね。
読み込まれました
4
・既存の do ファイル(プログラムファイル)の読み込み
do ファイルはプログラムを記録するための重要なファイルです。
生データと do ファイルさえあれば、研究結果は再現できます。
書類アイコン
をクリック
Do-file editor の
File-> open をクリック
5
各自の 保管場所
から該当
do ファイル
を選択、
開くを 押下
do ファイルが
読み込まれました
6
・do ファイルでの日本語表示を可能にする
Do-file editorの Edit->
Preferences をクリック
好きな日本語フォントを 選択後、OK を押下
(お勧めは HG ゴシック M 等の
等幅フォント 10pt 位)
7
2. プロキシの設定・無線 LAN 接続について
学内からインターネット回線を利用してデータなどを取得する場合には、プロキシの設定が
必要になります。Edit ⇒ General Preferences ⇒ Internet
HTTP Proxy Host: proxy.kuins.net
HTTP Proxy Port: 8080
※無線 LAN 接続の方法
・事前に指定したファイルをダウンロードしていれば、授業中は原則として接続不要です。
・MIAKO 教育用コンピュータ(ECS-ID)などで追加ログインが必要です
pptp(VPN)の設定が必要
8
3. データファイル(dta ファイル)。
出生時の体重に関するサンプルデータを使います。lbw という名で Stata のホームページ上
にアップロードされています。以下は変数とその内容です。サンプルプログラム、および宿
題で使用します。
--------------------------------------------------------------------------------------------------------------------
ファイル名: lbw.dta
ダウンロード場所:Stata 社ホームページ
http://www.stata-press.com/data/r11/lbw.dta
出生児の体重に関するサンプルデータです。これは、189人の出産に関して母親の特性と
児の出生体重に関してデータを収集した物です。
以下は変数とその内容です。
変数の意味は以下の通りです。
id ID番号
low 低体重出生 (0=Birth Weight>=2500g, 1=Birth Weight<2500g)
age 母親の年齢
lwt LMP 時点での母親の体重(ポンド)
race 人種 (1=white, 2=Black, 3=Other)
smoke 妊娠中の喫煙 (1=Yes, 2=No)
ptl 早産の既往 (0=None, 1=One, etc)
ui 子宮刺激(Uterine Irritability)の有無 (1=Yes, 0=No)
ftv The First Trimester での受診回数 (0=None, 1=One, 2=Two, etc)
bwt 出生体重
4. メニューの使い方
(ア) データの読み込み(file メニュー)
早速ファイルを読み込んでみましょう
(イ) グラフなど(Graphics メニュー)
(これは別の授業で)
これらのメニューを使うとそれに相当するコマンドが自動的に生成されて実行されます。
コマンドを忘れたときなどに便利です。
9
5. 命令(コマンド)の形式
命令には、平均値を計算する、テーブルを作る、回帰分析をする、などいろいろな作業の命
令があります。基本的にコマンドは
command variable if'*', option
といった形式で構成されます。
最初の command が何をするのか(例: テーブルを作る),
variable がどの変数に対して option は上記のコマンドを実行するのか
どのような形で(例:パーセンテージをつけて)、if はサンプル中このような条件を満たすデー
タに対して、を示します。詳しくは後ほど
注)全角のスペースが存在する場合には、Stata のプログラムが走らないため注意してくだ
さい。
6. do-file エディタ
一連の作業を命令のリストにして実行する手順書のような物がプログラムであり、それを保
存するものが do-file エディタです。コマンドは一度実行したら終わりで保存もされません。
研究は繰り返しが多いものです。保存、繰り返し実行のために、プログラムを使う習慣をつ
けましょう。
do-file エディタの起動はメインの画面の上、do-file editor ボタン (バージョンによっ
て位置やアイコンが異なるかもしれません)をクリックすることで起動します。そこでプログ
ラムを書き、その実行は do-file editor 上の一番右のボタンを押すことで実行します。また、
部分的実行をするときにはその部分だけを選択してから実行します。
注:プログラムはまめに保存すること(Ctrl+S)
保存時には、do-file エディタが前面にであることを確認すること。メインの画面でセーブす
ると、データがセーブされます。プログラムエディタ上の EditPreference をクリック
(Stata 10 の場合はエディタ上で右クリック)すると、ウインドウが表れますが、Save before
do/run をチェックすると、解析前に自動的に保存されるようになります。
・do ファイルの保存方法
Do-file エディタのタブの File -> Save all または Save as を選択。
Do-file エディタを最前面にして操作して下さい。
10
※プログラムの作法の基本
プログラムは通常作業の開始から最後までを書きますので、
1) メモリ上のデータを消去
2) 使用するデータを用意(メモリに読み込み)
3) 結果の記録(log ファイル)を準備
4) 解析
5) 後かたづけ(結果の記録を終了)
6) 必要であれば、データを保存
という手順が必要になります。
ということで、実際にプログラムを見ていきます (サンプルプログラム参照) 。
以下は資料としてご参考ください
1)-2)を行うコマンドが以下の通りです。
clear ///メモリ上のデータを消去///
set mem 100m ///データをおくメモリを確保///
use "filename", clear ///mename を読み込んで解析を行えるようにする///
↑
あるいは、File メニューから、Open を選択して開く方法もあります。
3)がなぜ必要かというと、
結果ウインドウの後戻り出来るスクロールの程度に限度があるからです。
Do-file editor タブの File->Save~をクリック
11
そのため、全ての結果を記録しておくように設定しますそれが、log ファイルです。
log using "fi1ename100408.log”, replace ///, replace をつけることで上書きをする///
///filename100408.log というファイル名を使う//
4)の解析を実行するには、プログラムを書いて、実行したい部分を選択し、do ボタンを押し
ます。run ボタンは結果を表示しないので通常使用しません。
全て終わったら
5)で、記録が終了したことを Stata に知らせてやります。
log close ///log using の後から、log close の前までをファイルに記録///
6)の保存は
save "fi1enane", replace
というコマンドを用います。”, replace”というのはオプションで、既に同じ名がのファイルが
ある場合には、上書きすることを指定するためです。
ファイルが保存されるのは、以下のコマンドで表示されるフォルダです。
cd
作業フォルダを変更する場合(例えばドライブ C の data フォルダ)には、以下のコマンドを
使用します。
cd c:¥data
作業フォルダを変更して保存する代わりに、以下の様に記載して保存しても構いません。
save "c:¥data¥fi1enane", replace
番外編:コメントのつけ方
///と///で囲む、もしくは*と*で囲む。
1 文が長くなる場合は最初の行を///で終わる。
save "c:¥data¥fi1enane", ///
replace
12
7. データの形と変数(例プログラム参照)
(ア) データテーブルの見方
データを直接みるには、Data Editor(Edit)もしくは Data Editor(Browser) (4 つめ)ボタ
ン
(イ) 新しい変数の作り方(generate)
例: gen a=1 ///a という変数を作成し、1 を代入する///
gen b="Yes" ///a という変数を作成し、Yes を代入する///
(ウ) すでにある変数の変更の仕方(replace)
(エ) 四則演算:+-*/^
(オ) 文字列
8. データの要約
(ア) 数量的要約(summarize)
・平均、中央値、標準偏差、分散、25 パーセンタイル、75 パーセンタイル、
・尖度(Kurtosis) 正規分布の場合 3、歪度(Skewness) 0 が対称
例: sum a
sum b, detail
・テーブル(tabulate or table)
例: tabulate
(イ) グラフ(コマンドでもメニューでも作れます)
ヒストグラム histogram
箱ひげ図 graph box
散布図 scatter
・グラフのコピーの仕方
グラフを右クリックして copy graph を選び、次にワードなどで貼り付けする。
グラフの保存も可能
9. ヘルプの使い方
コマンドウインドウから、"help"または"search "
help メニューから Search か、Command
10. データの変換
基本的にはエクセルなどからコピー&ペーストが簡単です。もっと大きなデータの場合には、
ほかの統計ソフトからデータを変換するためには専用のソフトが必要です。
www.stattransfer.com から、インターネットで購入できます。学生は$59 です。
13
エクセルなどで CSV 形式で保存しているデータなどは、FileImportASCII data created
by spreadsheet コマンドで読み込むことも可能です。
11. マニュアル
Stata 11 から PDF 版のマニュアルが付属するようになっています。
Help の記事からリンクされており、参照できます。
課 題
以下のことを行うプログラムを作成・実行して下さい。
・1~3は事後クイズの問題とほぼ同じです。
・解答は次回お伝えします。
・データ:低出生体重児データ(メールで配布済み。http://www.stata-press.com/data/r11/lbw.dta
からも入手可能)
1. サンプル(出生児)の体重の平均値(mean)、中央値(median)、分散(Variance) を求めなさ
い。
2. サンプルの母親の年齢の平均、ならびに標準偏差 を求めなさい。
3. 新しい変数として出生体重をキログラムで表す変数を作成しなさい。変数名は bwt_kg
4. サンプル中の低出生体重児(出生体重が 2500g 以下)の割合 を求めなさい。
5. 母親の喫煙の有無と低出生体重の 2×2 テーブル を作成しなさい。
6. 出生体重の分布(連続変数のヒストグラム) を示しなさい。
7. 母親の年齢の分布(連続変数のヒストグラム) を示しなさい。
8. 母親の年齢と出生体重の散布図 を作成しなさい。
9. do ファイル・データを適当なファイル名を付けてセーブして下さい
10. 一連の作業をログに記録し、ログファイルをセーブして下さい
14
サンプルプログラム
*1.データの読み込み
*使うデータを指定して読み込む必要があります(場所は適宜変更)
clear
set mem 100m
*1.データの読み込み
*使うデータを指定して読み込む必要があります(場所は適宜変更)
use "c:\users\yamamotoyo\desktop\lbw.dta"
*コンマの後に replace オプションをつけることで、データセットが上書きされます
use "c:\users\yamamotoyo\desktop\lbw.dta", replace
*※インターネットから直接ダウンロードもできます(ネット接続必要)
use "http://www.stata-press.com/data/r11/lbw.dta", replace
*2.ログの記録
*コンマの後に replace オプションをつけることで、ログが上書きされます
log using"C:\data\lwt.log", replace
*3.変数を作ります
gen a=1
gen bwtinkilo=bwt/1000
*4.変数の内容を変更してみます。
*gen で a の値を 3 に変更を試みてみます。
gen a=3
*gen では変更できません
*変更には replace コマンドを使います。
replace a=3
*5.条件文
gen agecat=1
replace agecat=2 if age >=20&age<25
replace agecat=3 if age >=25&age<30
15
replace agecat=4 if age >=30&age<35
replace agecat=5 if age >=35
*6.データ要約
*summarize コマンドを su と省略することが出来ます
su age
*2 つ以上の変数をリストすることもできます
su age bwt
*より詳細な要約を出すには、detail オプションを付けます
su bwt, detail
*7.テーブルを作ります。
tab smoke
*2x2 のテーブルを作ります
tab smoke low
*8.グラフ・図の作成。
*連続変数のヒストグラム
histogram bwt
*グラフを保存するためにはここで止めて、ワードにコピーペースト
*ヒストグラムのバーの本数も変更できます(通常は自動)
histogram bwt, bin(20)
*非連続(カテゴリー)変数のヒストグラム
histogram agecat, discrete
*散布図
scatter age bwt
*箱ひげ図
graph box bwt
*幹葉図
stem lwt
16
*9.log を閉じてみます
log close
*10.データをセーブします。(yamamotoyo 以下は各自のデスクトップの場所を入れる)
*生データを上書きセーブすると、後の解析で支障がでますのでくれぐれも注意
save "c:\users\yamamotoyo\desktop\savedata", replace
]
事後クイズ
efeel.to/survey/clip0401
4 分位点より 1.5*4 分位差分外側の点