看板 Statistics 關於我們 聯絡資訊
DATA test; Input newid id type$ size$ value; cards; 1 1 A S 10 2 1 A L 20 3 1 B S 30 4 1 B L 10 RUN; /*在PROC TRANSPOSE 之前要給每個obs一個不重複的newID 如果資料檔已經存在可以在data step下 newID+1 就可以了*/ DATA test_1 test_2; SET test; IF size="S" then output test_1; ELSE IF size="L" then output test_2; RUN; PROC TRANSPOSE data=test_1 out=test_11; VAR value; COPY id type; By newid; RUN; PROC TRANSPOSE data=test_2 out=test_21; VAR value; COPY id type; By newid; RUN; DATA test_all; Merge test_11(rename=(COL1=S)) test_21(rename=(COL1=L)); by ID; Drop _NAME_ newID; RUN; PROC print data=test_all; sum S L; RUN; ※ 引述《hikaru1224 (WinMoney)》之銘言: : [軟體程式類別]: : SAS : [程式問題]: : 資料已經整理好,但卡在資料的轉置和加總 : 有使用transpose轉置,但無法試出我想要的呈現方式 : [軟體熟悉度]: : 新手 : [問題敘述]: : 我的資料格式如下 : id type size value : 1 A S 10 : 1 A L 20 : 1 B S 30 : 1 B L 10 : 想要的呈現方式如下 : id type S L : 1 A 10 20 : 1 B 30 10 : 40 30 (多一欄垂直加總) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.223.193.138 ※ 文章網址: https://www.ptt.cc/bbs/Statistics/M.1440856205.A.8B7.html
hikaru1224: 可以啦,非常感謝 08/30 11:28