全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2190 4
2012-04-25


有关问题详细内容见下:

数据集说明:
数据集all中有100个变量(上万条观测),
其中1个变量是name;
数据集part中有5个变量(上千条观测),
其中1个变量也是name(其取值大部分都在all的name中);



最终目标:
1.从all中查找到part中的name 并将其输出(输出数据集还包括all中的其他变量,可不包括part中的变量),
  且输出数据集中要有一个标示变量(1=在all中找到同name;0=在all中未找到同name)以便于知道哪些未在all的name中找到;


遇到的困难:
因为name是字符型变量,
我想用索引取代where name in ('name1', 'name2',...'namen')括号中的内容,
否则手动写 几千个wherein 括号中的单引号与逗号.

或者用SQl能不能实现,
最好用索引能不能实行“最终目标”.

all与part数据集中的部分数据:
all数据集的name变量为,
     叶荣康    苏志勇    毛汉华    毛阳摇    陈征杭    吴树友  叶常青    黄金铎    吴福园    崔保明    温勇坚    谭石换    汤永仁    陆国华    吴开山    邓承永    罗卫真  李国雄    唐静    冯少云    莫为源    孔永清    谭建民    吴文高    谭永雄    李香    姚子平

part数据集中name变量为,
     苏志勇    毛汉华    毛阳摇    陈征杭    吴树友    梁炎均 杨宏莲

先谢谢!  





二维码

扫码加我 拉你入群

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

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

全部回复
2012-4-25 21:13:25
proc sql;
create table temp1 as
select *,'1' as code
from all
where name in (select name from part)
union
select *,'0' as code
from all
where name not in (select name from part);
quit;
二维码

扫码加我 拉你入群

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

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

2012-4-26 11:00:21
mymine 发表于 2012-4-25 21:13
proc sql;
create table temp1 as
select *,'1' as code
谢谢!!


proc sql 的结果与merge(横向)的结果有点儿出入,
因为name是字符型变量,
不知是否对sql 过程有影响.

二维码

扫码加我 拉你入群

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

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

2012-4-26 13:04:45
proc sql这种运算对与name为字符型没有关系的呀
应该不会有问题的
二维码

扫码加我 拉你入群

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

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

2012-4-26 14:59:08
mymine 发表于 2012-4-26 13:04
proc sql这种运算对与name为字符型没有关系的呀
应该不会有问题的
好的,谢谢!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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