上次以PREFIX=指定轉置後的欄位名稱為以流水號型式命名的名稱,今日將介紹的是以ID指定轉置後的欄位名稱。
[程式一] 在資料檔中AA中包含CLASS(班級), SEX, 成績(SCORE)等欄位。
[ 程式一]
data aa;
input class $ sex $ score;
cards;
A F 84
A M 82
B F 83
B M 86
;
run;
若研究者想依成績(SCORE)將每個班的資料直轉橫, 並以性別作為作為轉置後的新欄位名稱,可利用[ 程式二]完成。
[ 程式二]
1. 首先宣告執行TRANSPOSE程序, 資料來源為AA;
2. 其次將轉置後結果存入檔案BB中(OUT=BB);
3. 以Name=transposed_by 標示被轉置之欄位名稱(可任意書寫), 若不執行此項, 通常預設欄位名稱為 _NAME_;
4. 以VAR指定轉置的欄位, 成績(SCORE)指定為被轉置的欄位;
5. 以BY指定轉置的依據, 此例以CLASS(班級)為依據;
6. 以ID指定轉置後的欄位名稱。
proc transpose data=aa
out=bb
name=transposed_by ;
var score;
by class;
id sex;
run;
[程式一] 在資料檔中AA中包含CLASS(班級), SEX, 成績(SCORE)等欄位。
[ 程式一]
data aa;
input class $ sex $ score;
cards;
A F 84
A M 82
B F 83
B M 86
;
run;
若研究者想依成績(SCORE)將每個班的資料直轉橫, 並以性別作為作為轉置後的新欄位名稱,可利用[ 程式二]完成。
[ 程式二]
1. 首先宣告執行TRANSPOSE程序, 資料來源為AA;
2. 其次將轉置後結果存入檔案BB中(OUT=BB);
3. 以Name=transposed_by 標示被轉置之欄位名稱(可任意書寫), 若不執行此項, 通常預設欄位名稱為 _NAME_;
4. 以VAR指定轉置的欄位, 成績(SCORE)指定為被轉置的欄位;
5. 以BY指定轉置的依據, 此例以CLASS(班級)為依據;
6. 以ID指定轉置後的欄位名稱。
proc transpose data=aa
out=bb
name=transposed_by ;
var score;
by class;
id sex;
run;
Reference
SAS Global Forum 2009, Coders’ Corner
文章標籤
全站熱搜
留言列表