「TRANSPOSEプロシジャ2」の編集履歴(バックアップ)一覧はこちら
「TRANSPOSEプロシジャ2」(2008/10/12 (日) 23:53:23) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
&setpagename(TRANSPOSEプロシジャ)
&font(#6633ff,18px){''<データの転置>''}
#highlight(sas){
/*テストデータ*/
proc format ;
value f_sex 1 = "男"
2 = "女";
value noyes 0 = "NO"
1 = "YES";
run;
data test;
length sex 8. drug $10 smoke 8.;
do i = 1 to 112 ; drug = "medicine" ; sex = 1 ; smoke = 0 ; output; end;
do i = 1 to 137 ; drug = "medicine" ; sex = 1 ; smoke = 1 ; output; end;
do i = 1 to 83 ; drug = "medicine" ; sex = 2 ; smoke = 0 ; output; end;
do i = 1 to 141 ; drug = "medicine" ; sex = 2 ; smoke = 1 ; output; end;
do i = 1 to 90 ; drug = "plasebo" ; sex = 1 ; smoke = 0 ; output; end;
do i = 1 to 75 ; drug = "plasebo" ; sex = 1 ; smoke = 1 ; output; end;
do i = 1 to 86 ; drug = "plasebo" ; sex = 2 ; smoke = 0 ; output; end;
do i = 1 to 64 ; drug = "plasebo" ; sex = 2 ; smoke = 1 ; output; end;
run;}
***<薬剤別、性別と喫煙者の有無のクロス集計>
#highlight(sas){
proc freq data = test ;
tables drug * sex * smoke / out = test1(drop = PERCENT);
format sex f_sex. smoke noyes.;
run;}
#image(http://www39.atwiki.jp/sas_help/?cmd=upload&act=open&page=%E5%8F%82%E7%85%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E4%B8%80%E8%A6%A7&file=tran1.JPG)
***<薬剤を横に転置・・・転置した変数名の接頭語を指定>
#highlight(sas){
proc sort data = test1 out = s_test1 ;
by sex smoke;
run;
proc transpose data = s_test1 out = tran1 prefix=var_;
var count ;
by sex smoke;
run;}
#image(http://www39.atwiki.jp/sas_help/?cmd=upload&act=open&page=%E5%8F%82%E7%85%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E4%B8%80%E8%A6%A7&file=tran2.JPG)
***<薬剤を横に転置・・・IDを指定>
#highlight(sas){
proc transpose data = s_test1 out = tran2 ;
var count ;
by sex smoke;
id drug ;
run;}
#image(http://www39.atwiki.jp/sas_help/?cmd=upload&act=open&page=%E5%8F%82%E7%85%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E4%B8%80%E8%A6%A7&file=tran3.JPG)
***<喫煙者の有無を横に転置>
#highlight(sas){
proc sort data = test1 out = s_test1 ;
by sex drug ;
run;
proc transpose data = s_test1 out = tran3 ;
var count ;
by sex drug ;
id smoke ;
run;}
#image(http://www39.atwiki.jp/sas_help/?cmd=upload&act=open&page=%E5%8F%82%E7%85%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E4%B8%80%E8%A6%A7&file=tran4.JPG)
***<formatを別変数に持つテストデータ>
#highlight(sas){
data test2 ;
set test1 ;
format smoke 8. ;
length s_lab $8 ;
s_lab=put(smoke,noyes.);
run;
proc sort data = test2 out = s_test2 ;
by sex drug ;
run;}
#image(http://www39.atwiki.jp/sas_help/?cmd=upload&act=open&page=%E5%8F%82%E7%85%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E4%B8%80%E8%A6%A7&file=tran5.JPG)
***<IDLABELの指定例>
#highlight(sas){
proc transpose data = s_test2 out = tran4 ;
var count ;
by sex drug ;
id smoke ;
idlabel s_lab ;
run;}
#image(http://www39.atwiki.jp/sas_help/?cmd=upload&act=open&page=%E5%8F%82%E7%85%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E4%B8%80%E8%A6%A7&file=tran6.JPG)
&font(i,b){[[+ TRANSPOSEプロシジャへのリンク +>TRANSPOSEプロシジャ]]}
#hr(height=1,color=#002bb8)
&setpagename(TRANSPOSEプロシジャ)
&font(#6633ff,18px){''<データの転置>''}
#highlight(sas){
/*テストデータ*/
proc format ;
value f_sex 1 = "男"
2 = "女";
value noyes 0 = "NO"
1 = "YES";
run;
data test;
length sex 8. drug $10 smoke 8.;
do i = 1 to 112 ; drug = "medicine" ; sex = 1 ; smoke = 0 ; output; end;
do i = 1 to 137 ; drug = "medicine" ; sex = 1 ; smoke = 1 ; output; end;
do i = 1 to 83 ; drug = "medicine" ; sex = 2 ; smoke = 0 ; output; end;
do i = 1 to 141 ; drug = "medicine" ; sex = 2 ; smoke = 1 ; output; end;
do i = 1 to 90 ; drug = "plasebo" ; sex = 1 ; smoke = 0 ; output; end;
do i = 1 to 75 ; drug = "plasebo" ; sex = 1 ; smoke = 1 ; output; end;
do i = 1 to 86 ; drug = "plasebo" ; sex = 2 ; smoke = 0 ; output; end;
do i = 1 to 64 ; drug = "plasebo" ; sex = 2 ; smoke = 1 ; output; end;
run;}
***<薬剤別、性別と喫煙者の有無のクロス集計>
#highlight(sas){
proc freq data = test ;
tables drug * sex * smoke / out = test1(drop = PERCENT);
format sex f_sex. smoke noyes.;
run;}
#image(http://www39.atwiki.jp/sas_help?cmd=upload&act=open&pageid=19&file=tran1.JPG)
***<薬剤を横に転置・・・転置した変数名の接頭語を指定>
#highlight(sas){
proc sort data = test1 out = s_test1 ;
by sex smoke;
run;
proc transpose data = s_test1 out = tran1 prefix=var_;
var count ;
by sex smoke;
run;}
#image(http://www39.atwiki.jp/sas_help?cmd=upload&act=open&pageid=19&file=tran2.JPG)
***<薬剤を横に転置・・・IDを指定>
#highlight(sas){
proc transpose data = s_test1 out = tran2 ;
var count ;
by sex smoke;
id drug ;
run;}
#image(http://www39.atwiki.jp/sas_help?cmd=upload&act=open&pageid=19&file=tran3.JPG)
***<喫煙者の有無を横に転置>
#highlight(sas){
proc sort data = test1 out = s_test1 ;
by sex drug ;
run;
proc transpose data = s_test1 out = tran3 ;
var count ;
by sex drug ;
id smoke ;
run;}
#image(http://www39.atwiki.jp/sas_help?cmd=upload&act=open&pageid=19&file=tran4.JPG)
***<formatを別変数に持つテストデータ>
#highlight(sas){
data test2 ;
set test1 ;
format smoke 8. ;
length s_lab $8 ;
s_lab=put(smoke,noyes.);
run;
proc sort data = test2 out = s_test2 ;
by sex drug ;
run;}
#image(http://www39.atwiki.jp/sas_help?cmd=upload&act=open&pageid=19&file=tran5.JPG)
***<IDLABELの指定例>
#highlight(sas){
proc transpose data = s_test2 out = tran4 ;
var count ;
by sex drug ;
id smoke ;
idlabel s_lab ;
run;}
#image(http://www39.atwiki.jp/sas_help?cmd=upload&act=open&pageid=19&file=tran6.JPG)
&font(i,b){[[+ TRANSPOSEプロシジャへのリンク +>TRANSPOSEプロシジャ]]}
#hr(height=1,color=#002bb8)