全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2793 14
2012-12-10
    原帖地址: 【挑战你的SAS数据解析能力】十八大来了,我们能为党做些什么?
    中共十八大正在如火如荼地进行,据百度百科的资料,本次十八大代表名额为2270名,由40个选举单位产生(参见http://baike.baidu.com/view/4160404.htm)。在百度百科的资料中,代表名单以下面的形式列出(名单参见附件):(附件中的名单在原网页复制下来之后有所改动,把中文空格替换为英文空格,有些名称之间没有空格分隔的地方也加上去了。实在忍不住吐槽一下录入代表名单的同志,工作太不认真了,给我增加这么多不必要的麻烦。)
中央直属机关
  共108人
  于殿利 马 馼(女) 王 伟 王 晓 王 晨 王 瑶(女) 王 毅 王玉普 王东明 王尔乘 王仲田 王秀峰 王拥军 王京清 王秦丰 王家瑞 牛京辉(女) 卢新宁(女) 叶小文 申维辰 田 进 令计划 朱 玉(女) 朱 灵 任贵祥 全哲洙(朝鲜族) 刘 鹤 刘万永 刘结一 衣俊卿 安七一 许 鹏(满族) 许士平 孙志军 孙怀山 李 冰 李从军 李书磊 李玉赋 李东生 李宝善 李景田(满族) 李智勇 李瑞英(女) 杨冬权 杨冬梅(女) 杨金永 杨彩霞(女) 吴玉良 何平 何勇 何东平 何毅亭 余宁 冷溶 沈永社 沈跃跃(女) 沈蓓莉(女) 宋秀岩(女) 张立军 张纪南 张研农 张秋俭(女) 张裔炯 陆 昊 阿不来提-阿不都热西提(维吾尔族) 陈 希 陈 豪 陈久松 陈元丰 陈凤翔 陈世炬 陈扬勇 陈秀榕(女) 陈宝生 陈锡文 陈冀平 林 军 欧阳淞 卓松盛 周强 周本顺 周明伟 孟学农 赵 实(女) 赵胜轩 胡占凡 姚增科 夏勇 柴方国 钱岩(女) 铁凝(女) 徐延豪 徐如俊 陶治国 黄树贤 萨仁高娃(女,蒙古族) 曹清 崔少鹏 裘援平(女) 蔡名照 蔡赴朝 雒树刚 廖玒 谭跃 翟惠生 潘盛洲 霍克[4]
中央国家机关
  共184人
  于广洲 于魁智(回族) 万季飞 马 凯 马军胜 马尚权 马建堂 马朝旭 王 军 王 侠(女) 王 航 王万宾 王光亚 王伟光 王志刚 王志庚 王作安 王国强 王念法 王学军 王晓红(女) 王培安 王新宪 王德学 支树平 尤权 仇鸿(女) 仇保兴 丹珠昂奔(藏族) 方新(女) 方金英(女) 尹力 尹蔚民 孔彦鸿(女) 邓红蒂(女) 叶阳升 田力普 付文韬 付建华 白春礼(满族) 匡尚富 毕井泉 朱明 朱之鑫 任正晓 刘鹏 刘煜 刘玉亭 刘利华 刘金国 刘铁男 刘家义 刘赐贵 孙大伟 孙毅彪 杜玉波 杜占元 杜翠兰(女) 李伟 李燕(女) 李小林(女) 李习臻(女) 李乐民 李立国 李亚茹(女) 李兴华 李克明 李连宁 李玫瑾(女) 李国华 李国英 李宝荣 李建华 李适时 李海峰(女) 李家洋 李家祥 杨晶(蒙古族) 杨士秋 杨传堂 杨志明 杨衍银(女) 杨洁篪 杨焕宁 励小捷 肖捷 肖亚庆 吴一戎 吴爱英(女) 吴新雄 邱进 邱学强 何岩(满族) 何萍(女) 何立富 余欣荣 汪民 汪永清 沈德咏 宋大涵 张平 张军 张茅 张勇 张宇燕 张志军 张苏军 张丽萍(中科院)(女) 张丽萍(边防)(女) 张来武 张建龙 张建国 张海迪(女) 陈雷 陈 颖(女) 陈进玉 陈求发(苗族) 陈宜瑜 陈建民 陈德铭 邵芸(女) 邵琪伟 苗圩 范小建 罗黎明(壮族) 周英(女) 周济 周生贤 周伯华 郑智(女,回族) 郑国光 项兆伦 赵大程 赵少华(女,满族) 赵白鸽(女) 赵宏博(满族) 赵树丛 胡伟武 胡泽君(女) 柳斌杰 俞峰 俞贵麟 姜伟新 贺化 骆芃芃(女) 袁贵仁 耿惠昌 聂卫国 顾新(女) 徐绍史 徐德明(满族) 翁孟勇 高虎城 郭晓霞(女) 诸葛彩华(女) 黄明 黄浩涛 盛光祖 常荣军 鄂竟平 章启月(女) 梁东明 董大胜 蒋建国 韩俊 韩长赋 景蕊莲(女) 傅莹(女,蒙古族) 傅小兰(女) 焦焕成 谢伏瞻 谢旭人 赖亚文(女) 詹文龙 解学智 解振华 窦玉沛 蔡武 蔡昉 蔡振华 廖晓军 谭铁牛 穆虹 戴相龙[4]


在这份名单中,女代表被特殊标注了出来,不是汉族的代表也被特殊标注出来,但是这个名单的数据组织形式不是我们学习SAS是经常使用的一行一行的数据,而是先有一个分组来说明是哪个单位的,然后列出该单位下面的所有代表名单,假设我们要将这份名单解析成【选举单位 姓名 性别 民族】的格式,该怎么来实现呢,高手们都来试一下吧。

    我先来个抛砖引玉的解析代码,并没有实现我想要的功能,只是实现了一部分的功能。
(最新解析程序已经上传,请往下看2012-11-16新增内容)
复制代码
运行结果如下:

这里只是把所属的单位和姓名解析出来,但是遇到姓名是两个汉字的时候,由于文档里面两个汉字的姓名中间是有空格分隔的,导致一个姓名被分到两行去了,还没找到解决的办法,并且性别和民族也没能解析出来,感兴趣的同学一起来尝试一下吧。
===================无情的分隔线,以下内容编辑于2012-11-16=============

感谢《The Little SAS Book》中对@和@@的详细讲解,使我终于可以按照最初设计的目标把所有需要的信息给解析出来,目前解析到的信息包括所属单位,姓名,性别,民族等。代码参考如下:
复制代码
这里面对于性别和民族的信息提取使用了较多的正则表达式,唯一值得吐槽的是,“维吾尔族”居然成功匹配'/(.+)[,、](.+)/'(蒙古族就不能匹配),使我不得不把这个正则拆分为"/(.+),(.+)/"和"/(.+)、(.+)/"两个正则。

最后,让我们来看一下输出的结果,分别展示一下ViewTable的输出和output界面的输出。



最最后,大家终于看到真相了吧,十八大的代表名单有2280名,而被各个媒体争相报道的代表名单是2270个,难道数学老师真的不可靠了吗?



附件列表

十八大代表名单及解析程序.rar

大小:12.71 KB

只需: 1 个论坛币  马上下载

本附件包括:

  • 十八大代表名单.txt
  • 解析程序.sas

二维码

扫码加我 拉你入群

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

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

全部回复
2012-12-11 13:22:23
写代码的功底扎实,祝贺啊!
二维码

扫码加我 拉你入群

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

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

2012-12-11 16:58:04
davil2000 发表于 2012-12-11 13:22
写代码的功底扎实,祝贺啊!
谢谢鼓励,我也是刚开始学习SAS的
二维码

扫码加我 拉你入群

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

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

2012-12-11 18:23:23
鼓励原创型贴子,鼓励积极发贴讨论
二维码

扫码加我 拉你入群

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

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

2013-1-9 10:36:45
高!佩服佩服!
二维码

扫码加我 拉你入群

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

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

2013-1-10 09:01:51
值得欣赏,感谢楼主!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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