作者alias (希望)
看板Statistics
标题Re: [问题] SAS数值取代问题
时间Tue Aug 1 23:55:39 2006
※ 引述《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