推 yeu2:謝謝幫忙,感激不盡><... 12/17 23:25
data king ;
input subject$ class$ year$ score ;
cards ;
A c1 year1 4
A c2 year2 2
A c1 year3 3
A c3 year3 2
;
proc sort data=king ; by class ;
proc transpose data=king out=king2;
by subject class;
ID year;
var score ;
run;
proc sql ;
create table king3 as
select subject, class,year1,year2, year3
from king2;
run;
quit;
proc print data=king3;
run;
※ 引述《yeu2 (咕嚕咕嚕~)》之銘言:
: 請問如果有一筆資料
: subject class year score
: A c1 year1 4
: A c2 year2 2
: A c1 year3 3
: A c3 year3 2
: 我希望可以轉置成如下:
: subject class year1 year2 year3
: A c1 4 . 3
: A c2 . 2 .
: A c3 . . 2
: 我是利用transpose 程序
: proc transpose data=b1 out=transb(drop=_name_);
: var score;
: id year;
: by subject class;
: run;
: 當中因為class有相同的名稱
: 所以我把class變成
: subject class year score
: A 1 year1 4
: A 2 year2 2
: A 3 year3 3
: A 4 year3 2
: 可是output就會變成這樣
: subject class year1 year2 year3
: A 1 4 . .
: A 3 . . 3
: A 2 . 2 .
: A 4 . . 2
: 如何把相同名稱的課程擺在同一列呢?
: 謝謝各位大大的幫忙,感激不盡orz
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.29.135.120