全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1798 5
2012-08-02
第一个文件数据如:
姓名  年龄
张三 30
李四 20
李四 20
王五 20
王五 20,
第二文件数据只有一列,如:
姓名
王五
现在想把第一个文件里和第二个文件里姓名相同的数据删掉,第一个文件里自己重复的数据不删,如李四这二行数据需要保留。删掉之后的结果应该是
张三 30
李四 20
李四 20,请教各位高人在SAS里应该如何操作,最好步骤完整点,刚学SAS,很多不懂,谢谢各位大侠啦!
二维码

扫码加我 拉你入群

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

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

全部回复
2012-8-2 08:55:47
在第二个文件里增加一列,这一列是第一个文件里没有的变量,如出生地,将所有人的出生地设为北京,然后将第二个文件合并到第一个文件,生成一个新文件,然后在新文件里删除出生地为北京的观测就可。比如第一个文件名为file,第二个文件名为file2;
程序如下:

Data file3;
Set file2;
Birthplace=’beijing’;
Run;

Data file4;
Merge file1 file3;
By name;
Run;

Data file5;
Set file4;
If Birthplace=’beijing’  then delete;
Run;

二维码

扫码加我 拉你入群

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

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

2012-8-2 09:17:37
data a;
   input name $ score;
datalines;
张三 30
李四 20
李四 20
王五 20
王五 20
;
run;

data b;
   input name $ score;
datalines;
王五 30
;
run;

proc sql ;
   create table work.c as
   select a.* from work.a t1,work.b t2
   where t1.name^=t2.name;
run;

不太懂,但是貌似弄出来一个可以用的,楼主看看合适不合适
二维码

扫码加我 拉你入群

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

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

2012-8-2 20:37:34
非常感谢,哈,还没有试出来,意思理解了。我再慢慢摸索下,谢谢各位了!!
二维码

扫码加我 拉你入群

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

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

2012-8-2 21:00:32
proc sql;
create table c as
select *
from a
where name not in (select name from b);
quit;
二维码

扫码加我 拉你入群

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

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

2012-8-2 22:12:52
mymine 发表于 2012-8-2 21:00
proc sql;
create table c as
select *
correct~
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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