作者now401 (red-dog)
看板Statistics
标题[问题] SAS数值取代问题
时间Tue Aug 1 18:55:21 2006
我现在在做资料的处理
我想做到的目的是当数值遇到某个值时能由下个数据来取代
假设说我的数据有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)