楼主: jjjn511
3703 6

[有偿编程] 根据条件添加变量 [推广有奖]

  • 0关注
  • 0粉丝

已卖:1份资源

硕士生

54%

还不是VIP/贵宾

-

威望
0
论坛币
197 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1021 点
帖子
25
精华
0
在线时间
324 小时
注册时间
2009-7-15
最后登录
2016-6-3

楼主
jjjn511 发表于 2011-9-28 15:11:06 |AI写论文
25论坛币

AN

CPC

_LABEL_

ass

CN88103663.3

北京

ASS_3

北方交通大学

CN88101806.6

北京

ASS_2

北京大学

CN88105651.0

北京

ASS_2

北京大学

CN88103800.8

北京

ASS_2

北京联合大学机械工程学院

CN88101957.7

安徽

ASS_2

巢湖市人民医院

CN88104290.0

辽宁

ASS_4

东北工学院

CN88107318.0

广东;44

ASS_1

广东省湛江农业专科学校

CN88105659.6

广西;45

ASS_1

广西河池师范专科学校

CN88107217.6

广西;45

ASS_1

广西化工研究所

CN88109070.0

广西;45

ASS_1

广西化工研究所

CN88101243.2

广西;45

ASS_1

广西冶金研究所

CN88101534.2

贵州;52

ASS_1

贵阳市化学工业设计研究所

CN88105793.2

湖南;43

ASS_1

国家机械工业委员会第八设计研究院

CN88100617.3

北京;11

ASS_1

国家建筑材料工业局科学技术开发服务中心

CN88100259.3

法国;FR

ASS_1

国家科研中心

CN88102858

法国;FR

ASS_1

莫拉姆实验室

CN88102063

法国;FR

ASS_1

葡萄香槟开发集团

CN88102670.0

苏联;SU

ASS_1

汽车电子、汽车拖拉机电器装置科研生产联合企业

CN88103376.6

苏联;SU

ASS_1

汽车电子、汽车拖拉机电器装置科研生产联合企业

CN88108766.1

苏联;SU

ASS_1

全苏工业联合会绝缘装置专业技术设计局



这是我开始的表,其中ass变量分为4个类型:1表示大学,2表示研究机构,3表示企业,4表示公立机构
我希望通过编程能够实现如下表,即增加OT(机构类型)变量,能够自动识别ass变量的机构类型
判断的依据是:
(1)若ass变量中最后两个汉字为“大学”、“学院”、“学校”,则OT为1;
(2)若ass变量中最后三个汉字为“研究所”、“研究院”、“实验室”,或ass变量中最后两个汉字为“中心”则OT为2;
(3)若ass变量中最后两个汉字为“企业”、“集团”,则OT为3;(4)若ass变量中最后两个汉字为“医院”或ass变量中最后一个汉字为“局”,则OT为4;
最后生成的表如下:

AN

CPC

_LABEL_

ass

OT

CN88103663.3

北京

ASS_3

北方交通大学

1

CN88101806.6

北京

ASS_2

北京大学

1

CN88105651.0

北京

ASS_2

北京大学

1

CN88103800.8

北京

ASS_2

北京联合大学机械工程学院

1

CN88101957.7

安徽

ASS_2

巢湖市人民医院

4

CN88104290.0

辽宁

ASS_4

东北工学院

1

CN88107318.0

广东;44

ASS_1

广东省湛江农业专科学校

1

CN88105659.6

广西;45

ASS_1

广西河池师范专科学校

1

CN88107217.6

广西;45

ASS_1

广西化工研究所

2

CN88109070.0

广西;45

ASS_1

广西化工研究所

2

CN88101243.2

广西;45

ASS_1

广西冶金研究所

2

CN88101534.2

贵州;52

ASS_1

贵阳市化学工业设计研究所

2

CN88105793.2

湖南;43

ASS_1

国家机械工业委员会第八设计研究院

2

CN88100617.3

北京;11

ASS_1

国家建筑材料工业局科学技术开发服务中心

2

CN88100259.3

法国;FR

ASS_1

国家科研中心

2

CN88102858

法国;FR

ASS_1

莫拉姆实验室

2

CN88102063

法国;FR

ASS_1

葡萄香槟开发集团

3

CN88102670.0

苏联;SU

ASS_1

汽车电子、汽车拖拉机电器装置科研生产联合企业

3

CN88103376.6

苏联;SU

ASS_1

汽车电子、汽车拖拉机电器装置科研生产联合企业

3

CN88108766.1

苏联;SU

ASS_1

全苏工业联合会绝缘装置专业技术设计局

4



请各位快快帮我!!!

pat888.xls
下载链接: https://bbs.pinggu.org/a-969886.html

15.5 KB

附件

关键词:北京联合大学 label FRAS 北京大学 专科学校 北京大学 巢湖市 专科学校 机械工程 广东省

沙发
webgu 发表于 2011-9-28 16:24:32
提供一种思路吧,用substr+length。代码不好看,试试也许能解决问题。
  1. data  want;
  2.   set  have;
  3. if substr(,length(strip(ass))-3,4) in ("大学"  "学院"  "学校") then ot=1;
  4. if substr(strip(ass),length(strip(ass))-3,4) in ("企业"   "集团") then ot=3;
  5. if substr(strip(ass),length(strip(ass))-5,6) in ("研究所" "研究院" "实验室") then ot=2;
  6. if substr(strip(ass),length(strip(ass))-3,4)="中心" then  ot=2;
  7. if substr(strip(ass),length(strip(ass))-3,4)="医院" then  ot=4;
  8. if substr(strip(ass),length(strip(ass))-1,2)="局"        then ot=4;
  9. run;
复制代码
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

藤椅
playmore 发表于 2011-9-28 17:36:32
既然是Excel的表,就用Excel里的IF嵌套就可以了
playmore邀请您访问ChinaTeX论坛!!!进入ChinaTeX论坛

板凳
YueweiLiu 发表于 2011-9-28 21:26:27
可以尝试用正则函数,如:
  1. data want;
  2.         set have;
  3.         if prxmatch("/(大学$)|(学院$)|(学校$)/",strip(ass)) then ot=1;
  4.         else if prxmatch("/(研究所$)|(研究院$)|(实验室$)|(中心$)/",strip(ass)) then ot=2;
  5.         else if prxmatch("/(企业$)|(集团$)/",strip(ass)) then ot=3;
  6.         else if prxmatch("/(医院$)|(局$)/",strip(ass)) then ot=4;
  7. run;
复制代码


已有 1 人评分学术水平 热心指数 信用等级 收起 理由
webgu + 1 + 1 + 1 强大呵,再次学习!

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

报纸
webgu 发表于 2011-9-28 23:13:47
webgu 发表于 2011-9-28 16:24
提供一种思路吧,用substr+length。代码不好看,试试也许能解决问题。
现在想想,还用这种思路的话,用ksubstr,klength更好一点。
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

地板
zhangzachary 发表于 2011-9-28 23:49:51
YueweiLiu 发表于 2011-9-28 21:26
可以尝试用正则函数,如:
这样其实与LZ所定义的规则有冲突,如果不能保证是最后出现的关键词的话,比如:复旦大学附属医院,就会被错误地归入1而不是4
寒冰凤凰 My blog: http://blog.sina.com.cn/u/1058955485

7
YueweiLiu 发表于 2011-9-28 23:59:55
zhangzachary 发表于 2011-9-28 23:49
这样其实与LZ所定义的规则有冲突,如果不能保证是最后出现的关键词的话,比如:复旦大学附属医院,就会被 ...
$ 不就是用来干这个的么???

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-9 03:57