2018/12/21

健康情報学II

国⺠⽣活基礎調査（匿名データB・平成22年度）
ハンズオン
京⼤SPH健康情報学
⾼橋由光
1

授業の流れ①CDフォルダ内［ H22KOKUMIN_B ］CSV
ファイルに列名を挿⼊する（［平成22年国⺠⽣活基礎調査匿名データB符号表及びレイアウト］符号表を活⽤する）②列名挿⼊したCSVデータをJMPで開く③BMJ論⽂（Shibuya 2002）を参考に解析する（尺度の種類変更，ラベル作成， ダミー変数のカテゴリ化， ⽋測処理， 単変量・多変量解析）
2

CD-ROM挿⼊後のウィンドウ

4個の項⽬① 利⽤期間終了後の報告（フォルダ）② 16003_01_平成22年国⺠⽣活B（圧縮フォルダ）③ 平成22年国⺠⽣活基礎調査匿名データB 符号表及びレイアウト（エクセルファイル）④ 利⽤上の主な注意事項（ワードファイル）3

“平成22年国⺠⽣活B”を開く① ［16003_01 …］ 圧縮フォルダをダブルクリック② ［ 16003_01 …］フォルダをダブルクリック③ ［ H22KOKUMIN_B ］ CSVファイルをダブルクリック
4

H22KOKUMIN_B を開く① ［ H22KOKUMIN_B ］CSVファイルをダブルクリック②パスワードを⼊⼒してファイルを開く5

ファイルがExcelで開かれる

ファイルはCSV形式です6

CSVファイルをメモ帳で開いた場合

7

参考情報

拡張⼦
• オペレーティングシステム(OS)で、ファイル形式判別のために、ファイル名の最後に.○○○ とつけられている• .xls or .xlsx → Excel• .doc or .docx → Word
• .ppt or .pptx → Power Point※ 最後のxは、Office 2007以降• Windowsの初期設定では⾮表⽰

8

参考情報

9

参考情報

CSV（Comma Separated Values）• データをカンマ（,）で区切って並べたファイル形式• 通常は、Excelで開かれる

10

参考情報

ファイルの種類の例• TAB︓タブ区切りのデータファイル• TXT︓タブやCSVで区切られていることが多い• その他• JMP JMPデータファイル• SAS SASデータファイル• SAV SPSSデータファイル• STATAデータファイル• 各統計ソフトは、CSV、TXT、Excelデータファイルの読込可能• ただし、古いバージョンでは、.xlsxは未対応

11

参考情報

Excelの拡張⼦• Excel 2003以前• 拡張⼦︓.xls• ファイル形式互換機能
パックを⽤いれば、.xlsxも読込可能• .xlsの⾏列• 6万5536⾏×256列.xls/.xlsx• Excel 2007,2010,2016• 拡張⼦︓.xlsx• .xlsも利⽤できる• .xlsxの⾏列• 104万8576⾏
×1万6384列

12データを使ってJMPで解析する
16003_01_平成22年国⺠⽣活B（圧縮フォルダ）

データをJMPで読み込むためにJMPを⽴ち上げる

13

JMPでファイルを開く①①②① ［ファイル］をクリック② ［開く］をクリック

14

JMPでファイルを開く②16003_01_平成22年国⺠⽣活B（圧縮フォルダ）が表⽰されていない

15

JMPでファイルを開く③①ファイル形式を［すべてのファイル］に変更②デフォルト…に［チェックマーク］を⼊れる②③③ ［16003_01_...］を選択④ ［開く］①④16

JMPでファイルを開く④① ［16003_01_平成22年国⺠⽣活B］（フォルダ）クリック② ［H22KOKUMIN_B］ （CSVファイル）クリック

17

JMPでファイルを開く⑤①エクセルで開かれる， ［JMP］ をクリック② ［データテーブル］をクリック「選択した⾏数が10,000を超えています。続⾏しますか？」と表⽰された場合は「OK」
18

JMPでデータテーブルが作成される

列名が⼊っていない

19

H22KOKUMIN_Bに列名挿⼊が必要①ファイルの1⾏⽬に②の項⽬名の挿⼊作業が必要①H22KOKUMIN_B②平成22年国⺠⽣活基礎調査匿名
データB符号表及びレイアウト20

符号表 Excelファイルを開く① ［平成22年国⺠… ］Excelファイルをダブルクリック② ［B符号表 ］ のシートをクリック

21

新規Excel ファイルを作成

マスターデータは絶対に変更しない︕
列名をこの新しいファイルに作成する

22

符号表の⼀部をコピーする「平成22年国⺠… Excelファイル B符号表 のシート」「A~D列8~1468⾏」の範囲をコピー①「⾏番号〜位置 」をドラッグ②「Shift+Ctrl+↓ 」で範囲を選択③選択範囲のコピー

23

新規Excel ファイルに貼り付け貼り付けオプションで［値のみ ］ で貼り付ける

24

項⽬名を整理する①
列名に不要な項⽬名 を削除する① ［項⽬名 ］のセルをクリック②データツールバー で ［フィルター］ をクリック①②25

項⽬名を整理する②① ［項⽬名］ のをクリック② ［（すべて選択）］ のチェックをはずす③削除したい項⽬名である「,」,【基本情報】,【健康票】,【所得票】【世帯員部】,【世帯共通項⽬】【世帯票】, 【貯蓄票】,「（空⽩のセル）」を選択（上から8項⽬および最後の項⽬）④ ［OK ］ をクリックする

26

項⽬名を整理する③① ［A列2⾏⽬のセル ］ をクリックしD列⽬までドラッグ② 「Shift+Ctrl+↓ 」で範囲を選択③ 右クリック →⾏の削除 →シート⾏全体削除
不要な項⽬名が削除される④ ［項⽬名 のフィルタ］をクリック⑤［（すべて選択）］ をチェック⑥ ［OK］ をクリックする27

項⽬名を並び替える①「位置」の番号順に「項⽬名」を並び替える28

項⽬名を並び替える②① ［データ］→ ［並び替え］をクリック①②②最優先されるキーで［位置］を選択→ ［OK］ をクリック①②

項⽬名が順番に並び替えられる

29

参考

変数名のつけ⽅

⾏番号 項⽬名
2 政府統計コード

階層

位置2

1 ｖ0002_政府統計コード［⾏番号］と［項⽬名］を利⽤して変数名を作成

ｖ0002_政府統計コード
・変数名を⽰す variableの”v”
・解析の際, 変数が⾒つけやすいよう番号をつける＊”0000”の4桁にすることで順番が保たれる例）「0001, 0020, 0110」→ 「1, 110 , 20」と，ソートの際に誤った順番になることを
30”0000” にすることで予防する

⾏番号に対応した変数名作成①① ［E列2⾏⽬のセル ］ をクリック②TEXT の関数を挿⼊する②①③“⽂字列操作”を選択④“TEXT”を選択⑤“OK”をクリック31

⾏番号に対応した変数名作成②① ［E列2⾏⽬のセル ］ をクリック②値のボックスで ［ A2 セル］ をクリック③表⽰形式のボックスで“0000” を挿⼊④ ［OK ］ をクリック⑤「=“v”&TEXT(A2,“0000”)&“_”&B2」を⼊⼒“B列2⾏⽬のセル”
この式に修正する32

⾏番号に対応した変数名作成③① ［E列2⾏⽬のセル ］をクリック②セルの右下の が表⽰された状態で↓に305⾏までドラッグ③305⾏⽬まで変数名の作成が終了④この範囲選択のままで［コピー］する

33

⾏番号に対応した変数名作成④
Sheet2に貼り付ける②③① ［Sheet2 ］ をクリック② ［A2 のセル］ をクリック③ ［値のみ ］で貼り付ける④選択されている範囲の［コピー］34⾏番号に対応した変数名作成⑤
1⾏⽬に変数名を作成する①②① ［A1セル］ をクリック② ［⼊れ替え］で貼り付け

A列2⾏⽬以降を削除する③③ ［A2セル］ をクリック④ 「Shift+Ctrl+↓ 」で範囲を選択
35⑤選択範囲を削除

⾏番号に対応した変数名作成⑥
ファイルの種類を［CSV(コンマ区切り) ］ で保存①②③ ［ OK ］をクリック36

H22KOKUMIN_B を開く① ［ H22KOKUMIN_B］ CSVファイルをダブルクリック
マスターデータは絶対に変更しない︕②名前をつけてCSV(コンマ区切り)の形式で保存（例:H22KOKUMIN_B_variable）③新たに保存したCSVファイルを開いておく
37

H22KOKUMIN_Bに列名挿⼊する①
変数名をコピーする① ［A1セル ］ をクリック② 「Shift+Ctrl+→ 」で範囲を選択③選択範囲のコピー

38

H22KOKUMIN_Bに列名挿⼊する②②①列番号［1］をクリック② ［コピーしたセルの挿⼊］

39

列名挿⼊済H22KOKUMIN_B

40

最後の列まで列名挿⼊
KR＝304列⽬

41

JMPでデータを開く①①②① ［ファイル］をクリック② ［開く］をクリック

42

JMPでデータを開く②
列名挿⼊済のH22KOKUMIN_Bを選択し, 開く

43列名も⼊ったデータテーブル

列パネル

⾏パネル
44

課題論⽂ ”Shibuya 2002”

デザイン︓国⺠⽣活基礎調査を利⽤した横断研究
研究対象︓主要項⽬に⽋測値のない15歳以上の⼈
⽬的︓個⼈所得や所得分布の主観的健康観への影響を評価すること
Shibuya K, Hashimoto H, Yano E. BMJ 2002;324:1645

表3の解析をJMPで⾏うv1027_健康意識

v0148_総所得v0269_年齢階級
v0290_配偶者の有無
v0266_性別
v1287_健診受診の有無
Shibuya K, Hashimoto H, Yano E. BMJ 2002;324:1646

解析の準備JMPで主に使⽤する3種類の尺度
・名義尺度 : 順序に意味がなく単に名前の質的変数
・順序尺度 : 順序に意味のある質的変数
・連続尺度 : 量的変数（連続量）

列パネル

⾏パネル
47

尺度の種類を確認する
平成22年国⺠⽣活基礎調査匿名データB 符号表及びレイアウト（エクセルファイル）

変数名は「⾏番号」と「項⽬名」から作成している例）v0002_政府統計コード「⾏番号」と「変数名の番号」を対応させて尺度の種類を確認する

48

尺度の種類の変更①列パネルの変数名の前のアイコンをクリック②定義したい尺度の種類をクリック変更される49

変数名と尺度の種類
変数名
v0148_総所得v0266_性別
v0269_年齢階級
v0290_配偶者の有無
v1027_健康意識
v1287_健診受診の有無

尺度の種類
連続尺度
名義尺度
順序尺度
名義尺度
順序尺度
名義尺度
50

参考

複数列の尺度種類を⼀括変更①列パネルから変更したい範囲を選択（Shift押しながら変更したい範囲をクリック）

②

⑤
③
④

② ［列］をクリックし［列属性の⼀括設定］選択③ ［属性］を［すべて選択］に変更④ ［尺度］で種類を選択⑤ ［OK］ をクリック①51

ラベルをつける
性別の分布を⾒ても,どちらがどの性別か不明

データB 符号表を⾒て，ラベルをつける

52

ラベルの付け⽅①①列パネルから［v0266_性］ を選択し，右クリック② ［列情報］をクリック③ ［列プロパティ］をクリックしドロップダウン
メニューから［値ラベル］を選択する

53

ラベルの付け⽅②①ラベルをつけたい数値を［値］に⼊⼒②表⽰するラベルを［ラベル］に⼊⼒③ ［追加］→⼊⼒をくりかえし， ［OK］

値に”1”ラベルに“男”
値に”2”ラベルに“⼥”
54ラベルの付け⽅③①変数名の横に値ラベルが ②値ラベルの使⽤の✔をはずすとデータは数字のまま表⽰あることのマーク55

v0269_年齢階級
12345
6
78
9
10

0 〜5 歳
6〜11歳
12〜14歳
15〜19歳
20〜24歳25〜29歳30〜34歳35〜39歳40〜44歳45〜49歳

1112
13
14
15
16
17
18
19
99

50〜54歳55〜59歳
60〜64歳65〜69歳
70〜74歳75〜79歳
80〜84歳85〜89歳
90歳以上
不詳

56

v0290_配偶者の有無
1
2
3
4

配偶者あり
未婚
死別
離別

v1027_健康意識
123459よい
まあよい
ふつう
あまりよくない
よくない不詳v1287_健診受診の有無
129

健診を受けた健診を受けなかった不詳

57

v1027_健康意識を⼆値変数にする
Methods: Measure of self rated health
We created a dichotomous variable for self rated
health (0 if excellent, very good, or good; 1 if fairor poor), following the previous individual levelstudies in the United States.
12
3
4
59

よい
まあよい
ふつう
あまりよくない
よくない不詳０1

Shibuya K, Hashimoto H, Yano E. BMJ 2002;324:1658

⼆値の「主観的健康観」を作成①①［列］→［列の新規作成］をクリック②列名に「主観的健康観」を⼊⼒③尺度を［名義尺度］に変更④［列プロパティ］から［計算式］を選択⑤ ［計算式の編集］をクリック

59

⼆値の「主観的健康観」を作成②［条件付き］→［If］を選択

60

①v1027_健康意識を[式]へドラッグアンドドロップ②v1027_健康意識をダブルクリックし，ボックスに「＜＝３」と⼊⼒③カテゴリ名を「0」と⼊⼒④上記のように条件式を⼊⼒⑤挿⼊[＾]をクリックして，条件⼊⼒追加⑥2つの条件式以外は，⽋測であることの「.（ピリオド）」を⼊⼒する⑦[OK]をクリック
61

主観的健康観が作成される62

除外基準を満たすデータの除外
Methods: Data source
After we excluded records with missing values on
key variables (4747) and excluded those frompeople aged 15 years (17 394)…
ここでは，14歳以下を除外する
v0269_年齢階級 1
2
3
4

0〜5歳
6〜11歳
12〜14歳
15〜19歳除外する

Shibuya K, Hashimoto H, Yano E. BMJ 2002;324:1663部分的にデータを抽出する①①［分析］→［⼀変量の分布］を選択②列［ v0269_年齢階級］を［Y，列］に選択

64

部分的にデータを抽出する②［度数］「4」のカテゴリを選択→Shiftを押しながら「19」のカテゴリを選択（⽋測の「99」も除外）「4〜19」のカテゴリ選択により，年齢階級データ⽋測を除外した15歳以上の⼈を選択
データテーブルでも15歳以上の⼈が選択されている

65

部分的にデータを抽出する③①データテーブルの［テーブル］→［サブセット］を選択② ［OK］をクリック③15歳以上の⼈を選択した新しいテーブルが作成される66

JMPでの解析（単変量）
Table 3 Univariate and adjusted odds ratios(95% confidence intervals) for self rated health(fair or poor=1) estimated by logistic regression
models

⼥性は，男性に⽐べて「主観的健康観が低い」（オッズ⽐ 1.27）
Shibuya K, Hashimoto H, Yano E. BMJ 2002;324:16

67

参考

JMPのダミー変数について• 名義尺度のカテゴリ数が2つの場合は新たにダミー変数を作成しなくても分析できる• ⽬的変数である名義尺度でどのカテゴリを⽔準としているかは［列プロパティ］→［リストチェック］で確認• ⼀番上に表⽰されているカテゴリの事象オッズを求めることができる
68

⽅法①

主観的健康観に性差はある︖カイ⼆乗検定①［分析］→［⼆変量の関係］をクリック②⽬的変数には，「主観的健康観」
説明変数のボックスには，「性」をドラッグアンドドロップ→ ［ OK ］
69

結果の表⽰を整理する

⾚▼をクリックしオッズ⽐にも✔を残す

モザイク図の△をクリックして図の表⽰をなくす

⾚▼をクリックし度数と⾏％だけ✔を残す

70

結果
⼥性は，男性に⽐べて「主観的健康観が低い」（オッズ⽐ 1.27）

71

⽅法②

主観的健康観に性差はある︖カイ⼆乗検定［分析］→［モデルのあてはめ］をクリック［イベントを⽰す⽔準］「1」の事象オッズを求める
72

結果73

JMPでの解析（単変量）
Table 3 Univariate and adjusted odds ratios(95% confidence intervals) for self rated health(fair or poor=1) estimated by logistic regression
modelsShibuya K, Hashimoto H, Yano E. BMJ 2002;324:16

74

年齢を4つのカテゴリーに分ける
v0269_年齢階級
45678
9
10
11
12
13
14
15
16
1718
19

15〜19歳
20〜24歳25〜29歳30〜34歳35〜39歳40〜44歳45〜49歳
50〜54歳55〜59歳
60〜64歳65〜69歳
70〜74歳75〜79歳
80〜84歳85〜89歳
90歳以上

年齢区分015〜44歳

1

45〜59歳260〜79歳

380歳以上75

年齢区分の作成①①［列］→［列の新規作成］をクリック②列名に「年齢区分」を⼊⼒③尺度を［名義尺度］に変更④［列プロパティ］から［計算式］を選択⑤ ［計算式の編集］をクリック⑥［条件付き］→［If］を選択し，以下のように⼊⼒

76年齢区分の作成②
ラベルをつける

77年齢区分に対しダミー変数作成①
ダミー変数45〜59歳
60〜79歳
80歳以上

ルール「年齢区分」が「1」なら「1」，そうでなければ「０」「年齢区分」が「2」なら「1」，そうでなければ「０」「年齢区分」が「3」なら「1」，そうでなければ「０」AGE45

15〜44歳45~59歳
60〜79歳
80歳以上

AGE60
0100

AGE80
00
10000178

年齢区分に対しダミー変数作成①①［列］→［列の新規作成］をクリック②列名に「AGE45」を⼊⼒③尺度を［連続尺度］に変更④［列プロパティ］から［計算式］を選択⑤ ［計算式の編集］をクリック⑥［条件付き］→［If］を選択⑦テーブル列から［年齢区分］を選択⑧関数から，［⽐較］［ a==b ］ を選択⑨「1」を⼊⼒⑩then節に「1」else節に「0」を⼊⼒

79

年齢区分に対しダミー変数作成②
同様に「AGE60」「AGE80」も作成する
年齢区分
0123AGE45
15〜44歳45~59歳
60〜79歳
80歳以上

AGE60
0100AGE80
0010000180

作成したダミー変数81

主観的健康観は年齢が⾼いほど低くなる︖［分析］→［モデルのあてはめ］をクリック

82

結果

83

結果（単位オッズ⽐の部分）

84

v290_配偶者の有無のダミー変数作成85

⽋測値のコードを⽋測値へ①v1287_健診受診の有無
129

健診を受けた
健診を受けなかった不詳
不詳のコード「9」を⽋測値とする

86

⽋測値のコードを⽋測値へ②①［列パネル］から［v1287_健診受診の有無］をクリック②［列］→［再コード化］
をクリック

87

⽋測値のコードを⽋測値へ③①［古い値］の「9」の⾏の［新しい値］に「.（ピリオド）」を⼊⼒する②［完了］→［値の置換］をクリック

88⽋測値として変換される
再コード化前

再コード化後89

v0148_総所得をカテゴリーに分ける①
データ
（万円）
＜150
150〜199
200〜249
250〜299
300〜399
400〜499
≧500

値
６５４
３２
１０

値ラベル
（百万円）
＜1.50
1.50〜1.99
2.00〜2.49
2.50〜2.99
3.00〜3.99
4.00〜4.99≧5.00
90

v0148_総所得をカテゴリーに分ける②91

ダミー変数の作成

92

ロジスティック回帰分析
v1027_健康意識

v0148_総所得v0269_年齢階級
v0290_配偶者の有無
v0266_性別
v1287_健診受診の有無
Shibuya K, Hashimoto H, Yano E. BMJ 2002;324:16

93

ロジスティック回帰分析［ダイアログ…］に☑をしておくと便利

94

結果95

• 本講義は、「匿名データの提供依頼申出書（⾼等教育⽬的関係）」（申出者︓⾼橋由光、申出番号16003）により申出、厚⽣労働⼤⾂より承認を受け、実施している。
• 解析結果については、匿名データを基に申出者等が独⾃に作成・加⼯した統計等である。
• 本講義にあたり、厚⽣労働省政策統括官(統計・情報政策担当)付審査解析室委託統計・匿名データ提供係の皆様には多⼤なご⽀援をいただきました。⼼より感謝申し上げます。

96