全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2360 6
2017-03-10
SAS 的数据如下

Osteoarthritis (OA)

OA (Osteoarthritis)

OA Knee

Osteoarthritis Knee

OA + hands

Osteoarthritis, hands

OA , hip

OA

Knee OA

? OA

希望提取只包括OA/Osteoarthritis, 或者OA/Osteoarthritis还有Knee的数据, 其他的都不要。因为数据非常大, 而且非常混乱没有非常特定的规律, 所以没有办法列出不需要的组合。谢谢。


二维码

扫码加我 拉你入群

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

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

全部回复
2017-3-10 15:29:50
描述的不清楚啊,比如数据是什么样的,根据所列的部分数据想得到什么结果,prxchange 和 prxmatch函数 应该可以做吧
二维码

扫码加我 拉你入群

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

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

2017-3-10 15:32:23
上面列出来的就是数据,  
下面就是想生成的结果。
Osteoarthritis (OA)
OA (Osteoarthritis)
OA Knee
Osteoarthritis Knee
OA
Knee OA
? OA

OA/Osteo with knee 可以通过以下提取


where prxmatch("m/osteoar|oa /oi", lowcase(diagnosis)) and prxmatch("/knee/", lowcase(diagnosis)) ;


For OA only, 目前解决方法是:


where ((lowcase(diagnosis)) contains 'oa' and not prxmatch('~B|C|D|E|F|G|H|I|J|K|L|M|N|P|Q|R|S|T|U|V|W|X|Y|Z~i', upcase(diagnosis)));


其他的情况比如OA 还有osteoarthristis 同时出现的情况 或者只有osteoarthritis 出现的情况目前没有想出来解决办法。OA/Osteoarthristic 可以有特殊符号出现比如?,但不能有身体部分, 比如hand, hip, cervical 这些。



二维码

扫码加我 拉你入群

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

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

2017-3-10 16:23:34

if (prxmatch("/OA/",diagnosis) or prxmatch("/Osteoarthritis/i",diagnosis))
and prxmatch("/hand|hip|cervical|shank/i",diagnosis)=0;

用这个估计可以筛出大部分想要的数据,你再用nodupkey 看下 有哪些特殊的,也看下除了knee 其他身体部分比如 shank 加到=0的parmatch
二维码

扫码加我 拉你入群

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

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

2017-3-10 20:05:53
复制代码

二维码

扫码加我 拉你入群

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

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

2017-3-11 07:29:01
lovexialulu 发表于 2017-3-10 16:23
if (prxmatch("/OA/",diagnosis) or prxmatch("/Osteoarthritis/i",diagnosis))
and prxmatch("/hand|h ...
谢谢回复。 之前已经提过了,没有办法列出来所有不需要的。因为数据非常大,非常杂乱。 还包括了其他的文字。 我列出来的只是一些较为正常的情况。我是想要一个比较通用的方法去取选项,而不是列出来那些不需要的。
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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