Re: [問題] SAS數值取代問題

看板Statistics作者 (希望)時間19年前 (2006/08/01 23:53), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《now401 (red-dog)》之銘言: : 我現在在做資料的處理 : 我想做到的目的是當數值遇到某個值時能由下個數據來取代 : 假設說我的數據有x.y兩個變數, : 但我不要x裡有17所以要用下一個數值來取代 : 若下一個數值還是17那就繼續再抓下一個 : 下面我是嘗試寫的程式 : 可是我只能寫到當x遇到17就抓下個數值取代 : 但若連續兩個..則第一個17還是不能被取代掉 : 不知有沒有高手能教我當連續兩個數值出現要如何修改程式?? : 我知道最簡易的方法就是再寫一遍程式的取代部分 : 可是因為我是要運用在其他資料處理方面 : 而那些data set裡數據的連續重複數又很多 : 所以想來問問看是否有人可以幫幫我... 謝謝 : data all; : input x y ; : cards; : 7 8 : 9 10 : 11 12 : 13 14 : 15 16 : 17 18 : 17 16 : 15 14 : 13 12 : 11 10 : 9 8 : 7 6 : ; : proc transpose data=all out=tall; : data numeric; : set tall; : array arr[*] _numeric_; : do i=1 to dim(arr); : if arr[i]=17 then do; : arr[i]=arr[i+1]; : end; : proc print; : run; : 不知有沒有高手能教我當連續兩個數值出現要如何修改程式 我直接修改其中一段, 試試看是否就是你期望的幫助 DATA numeric; SET tall; ARRAY arr[*] _NUMERIC_; DO i=1 TO dim(arr); a=i; DO WHILE (arr[i]=17); a+1; arr[i]=arr[a+1]; END; END; RUN; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.231.65.225
文章代碼(AID): #14pta1mG (Statistics)
文章代碼(AID): #14pta1mG (Statistics)