めごめも!

ひとりと1匹の生活記録。

SASにおける表の出力

今まで知らなかった(使ったことのなかった)tabulateプロシジャ。

メモ置き場です。

wikiwiki.jp

wikiwiki.jp

www.sas.com

w.atwiki.jp

www.sas.com

こちらのPDFもよさげ。
http://www.sas.com/offices/asiapacific/japan/usergroups/wg/archive/001017azum.pdf


変数名:A1 A2 A3 A5 sex(全て0/1の二値変数)、 age(連続変数)
データセット名:test1

項目ごとの性別割合(横に割合を出す)

proc tabulate data=test1;
class A1 A2 A3 sex;
tables A1 A2 A3, sex*(N rowpctn);
run;

↓↓↓できるもの

sex
0 1
A1 N Percent N Percent
0 100 33.3 200 66.6
1 100 50 100 50
A2
0 100 66.6 50 33.3
1 100 33.3 200 66.6
A3
0 100 33.3 200 66.6
1 100 50 100 50
全体も左側に挿入

proc tabulate data=test1;
class A1 A2 A3 sex;
table (A1 A2 A3), (all sex)*(N rowpctn);
run;

↓↓↓できるもの

all sex
0 1
A1 N Percent N Percent N Percent
0 300 100 100 33.3 200 66.6
1 200 100 100 50 100 50
A2
0 150 100 100 66.6 50 33.3
1 300 100 100 33.3 200 66.6
A3
0 300 100 100 33.3 200 66.6
1 200 100 100 50 100 50
性別ごとに各項目の解答割合を出す(縦に割合を出す)

proc tabulate data=test1;
class A1 A2 A3 sex;
table (A1 all) (A2 all) (A3 all), (all sex)*(N colpctn);
run;

↓↓↓できるもの

all sex
0 1
A1 N Percent N Percent N Percent
0 300 60.0 100 50.0 200 66.6
1 200 40.0 100 50 100 33.3
all 500 100.0 200 100.0 300 100.0
A2
0 150 33.3 100 50.0 50 20.0
1 300 66.6 100 50.0 200 80.0
all 450 100.0 200 100.0 250 100.0
A3
0 300 60.0 100 50.0 200 66.6
1 200 40.0 100 50.0 100 33.3
all 500 100.0 200 100.0 300 100.0
平均値はこんな感じ

proc tabulate data=test1;
class sex;
var age;
table age, (all sex)*(n mean std);
run;

all sex
0 1
n mean std n mean std n mean std
age 100 45.0 1.0 50 44.0 1.0 50 46.0 1.0

ちなみに、missingを入れないと、欠損値があるものは解析から除外されちゃうので、こうしないと青くなる事がわかりました・・・。

proc tabulate missing data=test1;
class A1 A2 A3 sex;
table (A1 all) (A2 all) (A3 all), (all sex)*(N colpctn);
run;

片方の性別だけ表示したいときはWhereを使う。
proc tabulate missing data=test1;
Where sex=1;
class A1 A2 A3 sex;
table (A1 all) (A2 all) (A3 all), (all sex)*(N colpctn);
run;

性別層別化したい時。
平均値を出したい変数名がA1、A2、要因別に出したい変数がa=1, 2、性別がsex=1, 2のとき

proc tabulate;
class sex a;
var A1 A2 A3;
table sex*(A1 A2), (all a)*(mean std);
run;

all a
1 2
mean std mean std mean std
sex
1 A1 45.0 1.2 44.0 1.0 46.0 1.0
A2 60.0 1.5 50 1.5 65 1.0
2 A1 45.0 1.2 44.0 1.0 46.0 1.0
A2 60.0 1.5 50 1.5 65 1.0