Re: [程式] SAS資料計算

看板Statistics作者 (咖啡王子)時間15年前 (2010/06/26 11:58), 編輯推噓0(004)
留言4則, 2人參與, 最新討論串4/7 (看更多)
以下我做了一個假設 有兩個人 觀察到4~5種情況 其中 第二種情況 會只出現一次 然後 在這樣的情境下 不用刻意針對 出現 第三種 第四種的情況做處理 只要能讓SAS辨認不同情況為何就可以了 不過你資料有幾筆 只要都是按照ID 事發順序排序 這個語法可以一步到位解決你所有的情況的計算 data a; input date date10. response; format date date10. ; cards; 09AUG07 1 23AUG07 1 06SEP07 2 20SEP07 2 05OCT07 3 16OCT07 3 30OCT07 3 29NOV07 1 01JAN08 2 10JAN08 3 19JAN08 3 30JAN08 4 10JUN08 4 ; run; data a; set a; retain n o 0; if response^=1 then n=n+1; else n=0; if response^=lag(response) then o=o+1; run; data a1 ; set a; if response^=1 then output; run; proc means noprint data=a1; var date; by o ; output out=a1 min=min max=max; run; data final; merge a a1;by o; days=max-min+1; if min=max then days=.; keep date response days; run; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.37.242.130

06/27 15:07, , 1F
n 和 o似乎留一個就可以了哩
06/27 15:07, 1F

06/27 15:23, , 2F
對 那是我在撰寫過程中 思考時多寫的 變項n是多餘的
06/27 15:23, 2F

06/27 15:23, , 3F
不過 保留也無傷大雅 XDD
06/27 15:23, 3F

06/27 16:07, , 4F
另外只有date9. 沒有date10.咧 是我的版本問題?
06/27 16:07, 4F
文章代碼(AID): #1C9NhfmZ (Statistics)
文章代碼(AID): #1C9NhfmZ (Statistics)