作者socery (keep going!)
看板Statistics
标题Re: [程式] sas程式码id的删除
时间Tue Aug 7 23:25:30 2012
※ 引述《maryastro (麦猪不要跑)》之铭言:
: [软体程式类别]:
: sas
: [程式问题]:
: 资料处理
: [软体熟悉度]:
: 中(3个月到1年)
: [问题叙述]:
: id stroke_id
: 1 1
: 1 0
: 2 0
: 2 0
: 3 0
: 3 1
: 4 0
: 4 0
: 想请问大家
: 有哪一个sas的指令可以告诉它
: 如果stroke_id曾经有1的
: 就要删除掉这个id的所有纪录
: 也就是新档案我只需要keep id 2和4的资料就好了
: 我目前只想到一个土方法
: if stroke_id=1 then output;
: 给予一个新变项(stroke=1)告知说这id有stroke
: merge回原始的档案
: 如果stroke =1 then delete;
: 我想请问有比较简单的code可以直接进行删除掉id=1, 3的资料吗?
: 因为这个方法太绕圈圈了
: 老板好像不喜欢
: 谢谢
: -----------------------------------------------------------------------------
假设你的stroke_id 只有数字0和1, 可以参考以下作法
proc sort data=a;
by id descending stroke_id;
run;
data b(where=(qq=0));
set a;
by id descending stroke_id;
retain qq;
if first.id then qq=stroke_id;
run;
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.166.72.114