全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
12779 19
2014-01-14
  • 数据集中有大量记录,有几列变量的观测值都有十几条重复记录。该怎么写程序删除呢?谢谢了
    我主要是想根据其中ID、L两个变量来删除观测 ,因为有些ID的观测值在L中有多个记录。如图

附件列表
WE$BH$5MX{EJTR3$J~_DVG0.jpg

原图尺寸 63.19 KB

WE$BH$5MX{EJTR3$J~_DVG0.jpg

PN%_6PN]S_%5~NH$GF`U[M6.jpg

原图尺寸 130.65 KB

PN%_6PN]S_%5~NH$GF`U[M6.jpg

二维码

扫码加我 拉你入群

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

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

全部回复
2014-1-14 11:21:55
proc sort nodupkey;
二维码

扫码加我 拉你入群

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

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

2014-1-14 11:29:25
看不到图,我来假设你的数据中只有两个变量: ID 和 L,然后数据类似T1, 先排序,然后每个ID只选择一个record,具体程序如下:

data T1;
  input ID L;
  cards;
1 10
1 20
2 10
1 30
2 15
;
run;
proc print; title "Table for T1"; run;

proc sort data=T1 out=T2;
  by ID L;
run;
proc print; title "Table for T2"; run;

data T2;
  set T1;
  by ID L;
  if ^first.ID then delete;
run;
proc print; title "Table for T2: No Duplicated ID"; run;
二维码

扫码加我 拉你入群

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

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

2014-1-14 13:15:29
jy06056064 发表于 2014-1-14 11:21
proc sort nodupkey;
proc sort data=   out=  nodupkey;
by id L;
run;
二维码

扫码加我 拉你入群

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

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

2014-1-14 15:44:33
xiaoyu163 发表于 2014-1-14 11:29
看不到图,我来假设你的数据中只有两个变量: ID 和 L,然后数据类似T1, 先排序,然后每个ID只选择一个recor ...
恩,谢谢哈。可是我这个数据处理有点麻烦,因为如果我按我每个ID只保留一个观测值我会丢失L中的不同观测。如果我按L筛选,又会丢失ID。我想要的结果是每个ID对应的L是唯一的
数据结构就像这样
ID      L
1       0
1       0
1       0
1       1
1       1
2       1
2       1
二维码

扫码加我 拉你入群

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

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

2014-1-14 18:50:09
zw612003 发表于 2014-1-14 13:15
proc sort data=   out=  nodupkey;
by id L;
run;
正解
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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