Re: [程式] 求助SAS數量累積的程式

看板Statistics作者 (..)時間12年前 (2013/12/10 09:46), 編輯推噓1(109)
留言10則, 3人參與, 最新討論串2/2 (看更多)
data a;input abc $ def; cards; a 1 a 2 a 1 b 1 b 2 c 1 c 2 ; proc sort data=a;by abc; data a;set a;by abc; retain gh; if first.abc then do;gh=0;end; gh=gh+def; run; ※ 引述《ajipon (阿蠻)》之銘言: : ------------------------------------------------------------------------ : TITLE請著名軟體類別 : 按ctrl+v可預覽 發文前請把灰色的註解刪除 : 可使用ctrl+y刪除一整行 : [軟體程式類別]: : 請填入軟體程式類別 例如SAS、SPSS、R、EVIEWS...等 : [程式問題]: : 資料處理、迴歸、敘述統計、logistic、probit...等 : [軟體熟悉度]: : 請把以下不需要的部份刪除 : 新手(不到1個月) : 低(1~3個月) : 中(3個月到1年) : 高(1年以上) : 根據不同熟悉度 : 板上高手可以給予你不同指導 : 新手或許需要的還是語法的熟悉 : 而其他部分則可能往往是盲點上的點破 : [問題敘述]: : 請詳盡敘述遭遇到的問題,可能的話,分點敘述你要處理的流程 : 能夠分點敘述處理流程,基本上在撰寫程式或者跑統計時是相當有幫助的 : 甚至有經驗的人可以藉此告知你步驟是否錯誤 : [程式範例]: : 雖然張貼程式很可怕,但基本上有些程式還是要張貼才能解決 : ----------------------------------------------------------------------------- : 大家好,在下為SAS的初學者,問題如下 : abc def : A 1 : A 2 : A 1 : B 1 : B 3 : C 1 : C 4 : 目前有兩欄資料分別為abc和def,目前我想要在增加一欄資料如下 : abc def gh : A 1 1 : A 2 3 : A 1 4 : B 1 1 : B 3 4 : C 1 1 : C 4 5 : 如圖,gh欄為def的累加,以abc做分類 : 請問有大大可以幫忙解答嗎? : 試了好久都做不出來,在這裡先謝謝各位!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 27.245.207.165

12/10 10:20, , 1F
要考慮def為missing的情況哦。
12/10 10:20, 1F

12/10 10:37, , 2F
因為原po例子沒missing 就沒特別去考慮了
12/10 10:37, 2F

12/10 10:46, , 3F
可增加if def=. then def1=0;else def1=def;
12/10 10:46, 3F

12/10 10:47, , 4F
gh=gh+def改成gh=gh+def1; 就可處理missing了
12/10 10:47, 4F

12/10 11:05, , 5F
這樣OK。不知道打算po是如何處理missing的情況。
12/10 11:05, 5F

12/10 11:06, , 6F
我習慣用如下的方式,略微簡潔一點點,對missing處理
12/10 11:06, 6F

12/10 11:07, , 7F
有一點點不同,沒有對錯之分。
12/10 11:07, 7F

12/10 11:07, , 8F
if first.abc then gh=def; else gh=sum(gh,def);
12/10 11:07, 8F

12/10 11:39, , 9F
原po是打算
12/10 11:39, 9F

12/10 15:44, , 10F
謝謝各位大大,問題已解決!!!
12/10 15:44, 10F
文章代碼(AID): #1Ifd9ekL (Statistics)
文章代碼(AID): #1Ifd9ekL (Statistics)