Re: [程式] sas 當變數值相同 抓另一個變數取平均
用一個proc means可解決:
proc means data=temp mean;
class id date;
var prc;
output out=tempp(where=(_type_ = 3)) mean=prc1;
run;
關鍵在於要用output statement只輸出_type_=3的結果
但沒有寫(where=(_type_ = 3))也沒關係,因為你仍舊需要用一個data step整理結果
因為輸出的新資料(tempp)會有_type_和_freq_這兩個新變數需要特別drop掉
※ 引述《kobe581 (門口的野蠻人)》之銘言:
: [軟體程式類別]:
: sas
: [程式問題]:
: 資料處理
: [軟體熟悉度]:
: 新手(不到1個月)
: [問題敘述]:
: id date prc
: a 20020102 21
: a 20020102 30
: b 20020102 12
: b 20020102 12
: b 20020103 44
: c 20020105 45
: c 20020105 11
: 資料形式如上
: 我希望能建立出新變數prc1
: 當id跟date二個變數值相同時 prc的平均值變成prc1
: 然後新資料長成
: id date prc1
: a 20020102 21
: b 20020102 12
: b 20020103 44
: c 20020105 28
: 不知道有什麼方法可以寫出這樣的結果
: 卡了很久 希望版友提供建議
: 謝謝
: ※ 編輯: kobe581 (123.192.4.228), 04/05/2015 02:04:48
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 139.52.242.104
※ 文章網址: https://www.ptt.cc/bbs/Statistics/M.1428172943.A.E94.html
討論串 (同標題文章)