楼主: rocky1987
11793 5

[原创博文] 两个数据集的交集合并 [推广有奖]

  • 0关注
  • 0粉丝

VIP1

高中生

55%

还不是VIP/贵宾

-

威望
0
论坛币
3363 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
475 点
帖子
30
精华
0
在线时间
22 小时
注册时间
2012-1-13
最后登录
2013-8-27

楼主
rocky1987 发表于 2012-3-2 01:30:46 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我碰到问题是这样的,有两个数据集a和b:
                   a                                                                                  b
firmname firmcode var1 var2 var3                      firmname firmcode var1 var2 var3
    a               01       x      x      x                               aX           01       x     x       x

我想知道哪些公司在两个数据集上都出现过,并统计和列出这些公司的名字和代码。但是现在有一个问题,两个数据上的公司名字,也就是第一个变量firmname在两个数据集上的表示是有差异的,所以只能用FIRMCODE,也就是公司代码来识别他们。

想请教一下各位大神怎样才能找出两个数据集上都出现过的公司,并且只保留这些公司的数据,谢谢了~
二维码

扫码加我 拉你入群

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

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

关键词:数据集 Mcode FIRM name code 统计

沙发
mymine 发表于 2012-3-2 08:06:21
proc sql;
create table c as
select *
from a
where firmcode in (select firmcode from b);
quit;

藤椅
webgu 发表于 2012-3-2 08:51:55
另一种思路:
proc sort data=a;
   by firmcode;

proc sort data=b;
   by firmcode;

data want;
   merge a(in=a) b(in=b);
   by firmcode;
   if a and b;
run;
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

板凳
sunset1986 发表于 2012-3-2 09:01:56
楼上的代码很棒!
不过楼主,我觉得如果做分析,那不需要只提取出那些交集的部分,而应该保留所有的数据,但是加入两个indicator->a_indicator 和 b_indicator,如果在a则a_indicator=1, 如果b则b_indicator=1,这样如果导出excel文件,分析起来很舒服,而且如果以后要对所有的数据进行分析,也不会回头做工作~
An honest tale speeds best being plainly told.
Cheers!

报纸
baoaibaobao 发表于 2012-3-2 15:51:52
try to use intersect in proc sql...

地板
rocky1987 发表于 2012-3-20 04:20:52
mymine 发表于 2012-3-2 08:06
proc sql;
create table c as
select *
Thank you very much, your codes are essenal to my study!

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

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