楼主: kiritsugu
1547 11

求助如何从B中的一个变量中找出对应的时间相同时含有A中另一个变量的字符的观测 [推广有奖]

  • 0关注
  • 0粉丝

初中生

95%

还不是VIP/贵宾

-

威望
0
论坛币
4 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
331 点
帖子
12
精华
0
在线时间
17 小时
注册时间
2014-11-2
最后登录
2019-1-26

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
现在有两个数据集A和B,A数据集中有一列是yc,一列是xuexiao,xuexiao里面列出了A里面的人的学校名称,

B数据集中有一列是yc,一列是background,background里面有B中所有人的简历,里面包含学校信息。
(1)A、B数据集的记录(人)是不同的,但是有重复;
(2)background中的学校信息不一定出现在第几个字节;
现在需要找出B中yc与A相同时,其background变量项下包含对应的A中的xuexiao字节的观测,然后输出到表C中。

初学者,求各位大神赐教!
二维码

扫码加我 拉你入群

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

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

关键词:Background xuexiao Ground ROUND Back background 初学者 记录 简历 信息

沙发
不是吧258123 发表于 2015-8-11 08:35:10 |只看作者 |坛友微信交流群
建议你上传数据集

使用道具

藤椅
priss111 发表于 2015-8-11 08:46:59 |只看作者 |坛友微信交流群
  1. data a;        
  2. input yc $4.    xuexiao $30. ;
  3. cards;
  4. 张三  xuexiaoa
  5. 李四  xuexiaoc
  6. 王五  xuexiaoabcd
  7. ;

  8. data b;
  9. input yc $4.     background $30.   ;
  10. cards;
  11. 张三  doctor
  12. mazi  psychologist
  13. 王二  educator
  14. ;

  15. proc sort data=a;
  16.         by yc;
  17. proc sort data=b;
  18.         by yc;

  19. data c;
  20.         merge b(in=i) a(in=j);
  21.         by yc;
  22.         *if i;      *仅b中观测输出;
  23.         if i and j;  *仅输出a与b中yc相同时的观测;
  24.         run;
复制代码

使用道具

板凳
priss111 发表于 2015-8-11 08:50:53 |只看作者 |坛友微信交流群
merge_c ***不知道为嘛 input 后的变量类型输入$显示不出?;

请在input 后的变量的长度(4.、30.)前加上$,
中间不要空格.




使用道具

报纸
kiritsugu 学生认证  发表于 2015-8-11 22:23:30 |只看作者 |坛友微信交流群
不是吧258123 发表于 2015-8-11 08:35
建议你上传数据集
(⊙o⊙)…数据集涉及个人信息太多,没法上传啊!

使用道具

地板
苹果叶 在职认证  发表于 2015-8-11 23:27:28 |只看作者 |坛友微信交流群
稍微改了下前面的程序
  1. data a;        
  2. input yc $1     xuexiao $3-30 ;
  3. cards;
  4. a  xuexiaoa
  5. b  xuexiaoc
  6. c  xuexiaoabcd
  7. ;

  8. data b;
  9. input yc $1       background $3-30   ;
  10. cards;
  11. a  doctor xuexiaoa
  12. d  psychologist
  13. e  educator
  14. c  xuexiaoabcd
  15. ;

  16. proc sort data=a;
  17.         by yc;
  18. proc sort data=b;
  19.         by yc;

  20. data c;
  21.         merge b(in=i) a(in=j);
  22.         by yc;   
  23.         if i and j and indexw(background, xuexiao);
  24.                 drop xuexiao;
  25. run;
复制代码

使用道具

7
kiritsugu 学生认证  发表于 2015-8-13 20:34:22 |只看作者 |坛友微信交流群
苹果叶 发表于 2015-8-11 23:27
稍微改了下前面的程序
求问indexw(background,xuexiao)是什么意思呢?

使用道具

8
kiritsugu 学生认证  发表于 2015-8-13 21:03:44 |只看作者 |坛友微信交流群
数据集.png

这样表述清楚一些,数据集实在不能上传,这个是我按数据集的形式编的信息。求各位大神帮帮忙!!!

使用道具

9
苹果叶 在职认证  发表于 2015-8-14 00:34:53 |只看作者 |坛友微信交流群
kiritsugu 发表于 2015-8-13 20:34
求问indexw(background,xuexiao)是什么意思呢?
就是找在background 里面包含xuexiao 这个变量信息里面的值。
比如  background="毕业于清华", xuexiao="清华", 这句返回的值就是1

使用道具

10
teqel 发表于 2015-8-14 01:15:27 |只看作者 |坛友微信交流群
最好把学校生成一个新的单独变量

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-30 21:10