Re: [程式] sas加總

看板Statistics作者 (咖啡王子)時間13年前 (2013/01/16 10:47), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串3/4 (看更多)
※ 引述《lsctime (快樂有這麼困難嗎?)》之銘言: : ※ 引述《lena0425 (lena)》之銘言: : : ------------------------------------------------------------------------ : : [軟體程式類別]: : : sas : : [程式問題]: : : 資料處理 : : [軟體熟悉度]: : : 新手(不到1個月) : : [問題敘述]: : : 我想要將同樣id的人的a1加總 : : [程式範例]: : : id a1 我想要多一個變數 y_1 變成 : : 1 w : : 1 i : : 1 q : : 2 e : : 2 p : : id a1 y_1 : : 1 w : : 1 i : : 1 q 3---->每個a1都算一次門診,這個人共看了3次 : : 2 e : : 2 p 2----->這個人看了2次 : : 請問該怎麼寫指令> < : : 謝謝 : data a; : input id $ a1 $; : cards; : 1 w : 1 i : 1 q : 2 e : 2 p : ; : proc sort;by id;/*為後續併檔做準備*/ : run; : /*用sql計算就醫次數,不用sql也可以用retain但個人習慣用sql*/ : proc sql; : create table a1 as : select id, : count(id) as y_1 : from a : group by id; : quit; : /*把計算出來的次數合併回去原檔案*/ 用sql就不用兩段式 proc sql; create table a1 as select id,a1,count(id) as y_1 from a group by id; quit; 但有些初學者未必了解上述語法 我會建議由敘述統計語法著手 proc freq proc freq data=a; table id/out=a1; run; 上述語法可以產生次數分配 就可以進行後續動作 : data a2; : merge a a1; : by id; : run; : 以上淺見給你參考,感覺應該有更簡潔的寫法 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.163.224.240

01/21 21:18, , 1F
謝謝^^
01/21 21:18, 1F
文章代碼(AID): #1GzXJSDU (Statistics)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 4 篇):
程式
2
4
程式
0
1
程式
2
4
文章代碼(AID): #1GzXJSDU (Statistics)