[問題] SAS數值取代問題
我現在在做資料的處理
我想做到的目的是當數值遇到某個值時能由下個數據來取代
假設說我的數據有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;
end;
proc print;
run;
不知有沒有高手能教我當連續兩個數值出現要如何修改程式
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.190.49
※ 編輯: now401 來自: 140.120.190.49 (08/02 10:21)
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):