楼主: 小鳄鱼a
1129 1

有条件保留 [推广有奖]

  • 6关注
  • 10粉丝

学科带头人

3%

还不是VIP/贵宾

-

威望
0
论坛币
125 个
通用积分
0.0040
学术水平
40 点
热心指数
45 点
信用等级
43 点
经验
32801 点
帖子
1185
精华
0
在线时间
1539 小时
注册时间
2009-7-16
最后登录
2018-10-5

100论坛币
data test;
input x y;
cards;
1 .
2 .
3 4
4 .
5 1
6 4
7 3
;
run;


   请问如何才能保存两个x=4的那个观测   因为 被指向了两次。  而且两个3的观测  因为一次是因为有数值 一次是被指向了

最佳答案

wwang111 查看完整内容

这样能解决你的问题吗? proc sql; create table step1 as select * from test where y ne . or x in (select y from test where y ne .); quit; data fmt; set step1; retain fmtname "point"; rename x=start y=label; run; proc format cntlin=fmt; run; data step2; set step1(keep=y); where y ne .; x=input(put(y,point.),best.); rename y=x x=y; run; proc sort data=step2; by ...
关键词:cards Input test Data card 而且 如何
沙发
wwang111 发表于 2016-7-27 23:14:47 |只看作者 |坛友微信交流群
这样能解决你的问题吗?

proc sql;
create table step1 as
select * from test
where y ne . or x in (select y from test where y ne .);
quit;

data fmt;
set step1;
retain fmtname "point";
rename x=start y=label;
run;

proc format cntlin=fmt;
run;

data step2;
set step1(keep=y);
where y ne .;
x=input(put(y,point.),best.);
rename y=x x=y;
run;

proc sort data=step2;
by x y;
run;

data step3;
set step2;
by x y;
if first.x=1 and last.x=1 and y=. then delete;
if first.x and y=. then delete;
run;

data wanted;
set step1 step3;
run;

proc sort data=wanted;
by x;
run;
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
小鳄鱼a + 5 + 5 + 5 + 5 精彩帖子

总评分: 论坛币 + 5  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-19 21:58