
生信老学长
“师兄,我要毕业找工作了,岗位表好麻烦”,听着师妹的苦恼,读了7年的老博士陷入了沉思。别管你师兄了,生信老学长来和你一起选岗。
本次操作是为了帮助大家进一步认识数据清洗和分析,希望毕业的硕博们能早日找到自己心仪的工作。分析内容为某年某地职位表(非今年),我们假设自己的条件为六级、生物学、硕士、男、党员。下面和老学长一起实操一下吧。( 声明,本代码只是为了展示数据清洗的流程,不产生指导作用。)
###六级、生物学、硕士、男、党员
#设置工作路径
setwd('D:/Desktop/Desktop/生信老学长之数据清洗及分析/')#修改为数据文件夹路径
data_path='2023年度招考简章.xls'
#读取数据
library(readxl)
# 查看所有sheet名称
> excel_sheets(data_path)
[1] "中央党群机关"
[2] "中央国家行政机关(本级)"
[3] "中央国家行政机关省级以下直属机构"
[4] "中央国家行政机关参照公务员法管理事业单位"
#读取
data1=read_excel(data_path, sheet = "中央国家行政机关省级以下直属机构",skip = 1)
#查看1-5行
> data1[1:5,]
#行名
> colnames(data1)
[1] "部门代码" "部门名称"
[3] "用人司局" "机构性质"
[5] "招考职位" "职位属性"
[7] "职位分布" "职位简介"
[9] "职位代码" "机构层级"
[11] "考试类别" "招考人数"
[13] "专业" "学历"
[15] "学位" "政治面貌"
[17] "基层工作最低年限" "服务基层项目工作经历"
[19] "是否在面试阶段组织专业能力测试" "面试人员比例"
[21] "工作地点" "落户地点"
[23] "备注" "部门网站"
[25] "咨询电话1" "咨询电话2"
[27] "咨询电话3"
#查看专业总览
> data1$专业[1:5]
[1] "电子科学与技术(0809)、信息与通信工程(0810)、计算机科学与技术(0812)、软件工程(0835)、网络空间安全(0839)"
[2] "电子科学与技术(0809)、信息与通信工程(0810)、计算机科学与技术(0812)、软件工程(0835)、网络空间安全(0839)"
[3] "本科为电子信息类(0807)、计算机类(0809),或研究生为电子科学与技术(0809)、信息与通信工程(0810)、计算机科学与技术(0812)、软件工程(0835)、网络空间安全(0839)"
[4] "法学(0301)、中国语言文学(0501)、电子科学与技术(0809)、信息与通信工程(0810)、计算机科学与技术(0812)、软件工程(0835)、网络空间安全(0839)"
[5] "本科为法学类(0301)、电子信息类(0807)、计算机类(0809),或研究生为法学(0301)、电子科学与技术(0809)、信息与通信工程(0810)、计算机科学与技术(0812)、软件工程(0835)、网络空间安全(0839)"
#使用、/;,分割
all_Major=unlist(strsplit(data1$专业, split = "[、/;,]"))
#获得非重复列表
all_Major=unique(unique(all_Major))
all_Major
#搜寻生物相关的专业
> all_Major[grep('生物',all_Major)]
[1] "0826生物医学工程类" "071001生物科学" "生物科学类"
[4] "生物科学" "化学生物学" "生物医学科学"
[7] "生物技术" "化学工程与工业生物工程" "生物化工"
[10] "生物医学" "水生生物学(以上为专业名称)" "生物工程"
[13] "水生生物学" "生物学类" "生物工程类"
[16] "生物医学工程类" "生物工程专业" "生物医学工程(1072)"
[19] "生物学
> all_Major[grep('不限',all_Major)]
[1] "不限专业" "专业不限" "不限"
> all_Major[grep('理学',all_Major)]
[1] "管理学(08)" "管理学(12)"
[3] "0711心理学类" "071101心理学"
[5] "071102应用心理学" "0402心理学"
[7] "大学本科:0711心理学类" "研究生:0402心理学"
[9] "研究生:1204公共管理学" "研究生:120400公共管理学"
[11] "心理学" "应用心理学"
[13] "077100心理学" "077101基础心理学"
#查看备注
all_Note=unlist(strsplit(data1$备注, split = "[,。;]"))
all_Note=unique(all_Note)
all_Note
> all_Note[grep('六级',all_Note)]
[1] "8.大学英语六级考试425分及以上"
[2] "研究生学历要求大学英语六级425分及以上"
[3] "8.研究生学历要求大学英语六级425分及以上"
[4] "\n2.大学英语六级(CET6)测试成绩达到425分及以上"
[5] "大学英语六级(CET6)测试成绩达到425分及以上"
#查看学历 这里直接查看
> table(data1$学历,useNA = "ifany")
本科或硕士研究生 本科及以上 大专或本科 大专及以上 仅限本科
522 10502 4 154 2273
仅限硕士研究生 硕士研究生及以上
120 471
#政治面貌及其他
> table(data1$政治面貌,useNA = "ifany")
不限 中共党员 中共党员或共青团员
12367 365 1314
> table(data1$基层工作最低年限,useNA = "ifany")
二年 三年 无限制 五年以上 一年
1588 260 12109 56 33
> unique(unlist(strsplit(data1$服务基层项目工作经历, split = "[、,。;]")))
[1] "无限制" "“三支一扶”计划"
[3] "大学生村官" "大学生志愿服务西部计划"
[5] "农村义务教育阶段学校教师特设岗位计划" "在军队服役5年(含)以上的高校毕业生退役士兵"
#选择最适合的岗位
subset_data=subset(data1,
(grepl('生物|理学|不限', 专业) | is.na(专业)) & #获得生物理学或者不限的行
grepl('硕士', 学历) &
基层工作最低年限 == '无限制'&
!grepl('女', 备注)&#删除女性,我们是男性
grepl('六级', 备注))
> unique(unlist(strsplit(subset_data$备注, split = "[、。;]")))
[1] "限2023届高校毕业生"
[2] "本职位所指专业为具体专业名称"
[3] "考生必须具备与填报学历及专业相应的学位"
[4] "本科生大学英语四级考试合格(或425分)及以上,研究生大学英语六级考试合格(或425分)及以上"
[5] "现场一线岗位"
[6] "身体条件须符合《公务员录用体检特殊标准(试行)》"
[7] "服从关区二次调配"
#保存
write.csv(subset_data,file='subset_data.csv',row.names=F)这样,我们可以大致选出自己心仪的岗位,祝各位前程似锦。关注公众号回复 岗位选取 获取文件和代码。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。