楼主: xiezhibin
10440 8

如何找出sas数据集中某些变量相同的记录 [推广有奖]

  • 0关注
  • 0粉丝

已卖:12份资源

本科生

43%

还不是VIP/贵宾

-

威望
0
论坛币
102 个
通用积分
0.0600
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
1243 点
帖子
56
精华
0
在线时间
94 小时
注册时间
2009-3-24
最后登录
2014-11-3

楼主
xiezhibin 发表于 2014-3-24 20:32:06 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如何找出同一个sas数据集中某些变量相同的记录,例如,数据集中有val1 val2 val3 val4......,现在要找出val1 val2 val3三个变量相同的记录,谢谢。
二维码

扫码加我 拉你入群

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

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

关键词:sas数据集 数据集 记录 如何

沙发
intheangel 学生认证  发表于 2014-3-24 20:54:19
data a;
set a;
if var1=var2 and var2=var3;
run;
我是一只瘦瘦的小猪~~~
╭︿︿︿╮
{/-◎◎-/}
( (oo) )
  ︶︶︶

藤椅
xiezhibin 发表于 2014-3-25 10:34:45
不好意思,可能是我表达不够清楚,我的意思是两行数据的这三个变量值都是一样的,我要找出这两行数据。
例如:obs var1  var2 var3 ......
           1    2     2    3      .......
           2    1     3    4      ........
           3    2     2     3     .........
第一行和第三行的var1、var2和var3对应都是相同的,我要将这两行找出来

板凳
xiezhibin 发表于 2014-3-25 10:52:45
intheangel 发表于 2014-3-24 20:54
data a;
set a;
if var1=var2 and var2=var3;
不好意思,可能是我表达不够清楚,我的意思是两行数据的这三个变量值都是一样的,我要找出这两行数据。
例如:obs var1  var2 var3 ......
           1    5     2    3      .......
           2    1     3    4      ........
           3    5     2     3     .........
第一行和第三行的var1、var2和var3对应都是相同的,我要将这两行找出来

报纸
ziyenano 发表于 2014-3-25 13:50:38
data ex;
do i=1 to 20;
a=floor(ranuni(0)*3);
b=floor(ranuni(0)*3);
c=floor(ranuni(0)*3);
output;
end;
drop i;
run;

proc sql;
create table ex1 as
select a,b,c from ex group by a,b,c
having count(1)>1;
quit;

地板
遇女心惊 发表于 2014-3-27 00:36:51
  1. 先用变量标记记录位置吧:
  2. data yourdataset;
  3.   set yourdataset;
  4.   rowNumber=_n_;
  5. ;run;

  6. proc sql;
  7.   create table out as
  8.   select * ,count(*) as cnt
  9.   from yourdataset
  10.   group by var1,var2,var3
  11.   having count(*)>1
  12. ;quit;
复制代码

7
xiezhibin 发表于 2014-3-27 09:31:19
遇女心惊 发表于 2014-3-27 00:36
非常感谢!方法非常好。

8
learsaas 发表于 2014-3-27 21:12:07
不知道这个能否满足您要求:
  1. proc sort data=a out=result;
  2.         by var1 var2 var3;
  3. run;
  4. data result;
  5.         set result;
  6.         by var1 var2 var3;
  7.         if first.var3 and last.var3 then delete;
  8. run;
复制代码

9
jennifershao 发表于 2017-8-31 03:49:04
我也遇到了同样的问题,请问怎么解决的?谢谢!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-16 15:02