全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1108 6
2014-03-27
悬赏 20 个论坛币 已解决
比如一张表
subject           times          dose
1011               1                     3
1011                2                     5
1011                3                       3
1011                4                      5
1011                5                      5
1011                6                       5


如何删选最先达到稳定的dose那条记录      即 选出  1011                4                      5   这条记录

最佳答案

wwang111 查看完整内容

是这个意思? data a; input subject times dose; cards; 1011 1 3 1011 2 5 1011 3 3 1011 4 5 1011 5 5 1011 6 5 ; data b; set a; lagdos=lag(dose); if subject ne lag(subject) then call missing(lagdos); if dose=lagdos then delete;drop lagdos; run; proc sql; create table wanted as select * from b group by subject having times=max(times); quit;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-3-27 17:18:21
是这个意思?

data a;
input subject times dose;
cards;
1011 1  3
1011 2  5
1011 3  3
1011 4  5
1011 5  5
1011 6  5
;

data b;
set a;
lagdos=lag(dose);
if subject ne lag(subject) then call missing(lagdos);
if dose=lagdos then delete;drop lagdos;
run;
proc sql;
create table wanted as
select * from b
group by subject
having times=max(times);
quit;

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-3-27 19:27:14
很明显,data步就可以搞定了,无须写的这么复杂
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-3-27 19:28:25
wwang111 发表于 2014-3-27 17:26
是这个意思?

data a;
谢谢你  让我学到了新东西
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-3-28 10:21:56

data a;
input subject times dose;
cards;
1011 1  3
1011 2  5
1011 3  3
1011 4  5
1011 5  5
1011 6  5
;
run;

proc sql;
  select a.* from a,a b
  where a.subject=b.subject and b.times-a.times=1 and a.dose=b.dose=5;
  quit;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-3-28 14:05:42
wwang111 发表于 2014-3-27 17:18
是这个意思?

data a;
那如果表时这样的
subjet  times dose
1011   1        3
1011    2       4
1011    3       5
1011    4       6
1011    5        0
1011    6         6
1011    7          6
1011    8         0
删选稳态dose 且不为0 的记录 即选出 1011   6  6 这条记录  该怎么做啊?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群