数据分析师之工作篇
最近忙着找工作,拉勾网、智联各种简历网站海投,奈何接到的面试电话不是很多,去面试了两家也不尽人意。索性在家做了一个北京市数据分析岗位的分析报告。保佑我找到一份心仪的工作,阿门。
一、到某网站去爬数据,使用软件:八爪鱼(真的好用,一般人我不告诉他)。采集到的数据集如下:
二、对文本进行预处理,使用软件:R(处理代码请看之前的文章),生成分析所用宽表如下:
三、数据分析
1、我想看看薪资的分布情况(当然是拿最低薪资,哈哈)
由直方图可以看出,在北京中级数据分析师的水平最低薪资能拿到15k(我默默留下了眼泪),大多数公司愿意给出10k及以下的薪资,应该是初中级以下水平的分析师。
2、我还想知道北京哪些区在招数据分析人员
由图可以看出,朝阳区一马当先,有42.5%的数据分析职位,其次是海淀区,约占42.3%。
3、哪些行业在招数据分析岗
移动互联网对分析师的需求较高,其次是互联网金融,企业数据服务,电子商务。
下面是实现的R代码:
rm(list = ls()) job <- read.csv('jobdata.csv',sep = ',') str(job) job$职位名称 <- gsub('[^\u4E00-\u9FA5]','',job$职位名称) job$薪资 <- gsub('[^0-9-]','',job$薪资) library(tidyr) job <- separate(data=job,col = '薪资',into=c('最低薪资','最高薪资'),sep='-') job$职位描述 <- gsub('[[:cntrl:] [:space:]]','',job$职位描述) job$职位描述 <- gsub('职位描述:','',job$职位描述) job$工作地址 <- gsub('查看地图','',job$工作地址) job$工作地址 <- gsub('[[:cntrl:] [:space:]]','',job$工作地址) job$公司名称 <- gsub('拉勾认证企业','',job$公司名称) job$公司名称 <- gsub('[[:cntrl:] [:space:]]','',job$公司名称) job$公司行业 <- gsub('领域','',job$公司行业) job$公司行业 <- gsub('[[:cntrl:] [:space:]]','',job$公司行业) job$公司行业<- gsub('[^\u4E00-\u9FA5]','',job$公司行业) write.csv(job,'C:\\Users\\Administrator\\Desktop\\答辩\\job.csv') hangye<- as.data.frame(ftable(job$公司行业)) hangye = hangye[order(-hangye$Freq),] top10=hangye[order(-hangye$Freq),][1:10,] 行业 <- as.factor(top10$Var1) 频数 <- top10$Freq jobtop10 <- data.frame(x=行业,y=频数) library(ggplot2) ggplot(jobtop10 ,aes(x=行业,y=频数)) + geom_bar(stat = 'identity',fill="brown3 ")+coord_flip() job <- separate(data=job,col = '工作地址',into=c('城市','地区','街道','详细地址'),sep = '-') area<- as.data.frame(ftable(job$地区)) areatop8 <- area[order(-area$Freq),][1:8,] 地区 <- as.factor(areatop8$Var1) 频数 <- areatop8$Freq ggplot(areatop8 ,aes(x=地区,y=频数)) + geom_bar(stat = 'identity',fill="brown3 ")+coord_flip() A <- c('朝阳区','海淀区','东城区','西城区','大兴区','丰台区','昌平区','石景山区') label_value <- paste('(', round(areatop8$Freq/sum(areatop8$Freq) * 100, 1), '%)', sep = '') label_value label <- paste(areatop8$Var1, label_value , sep = '') label ggplot(areatop8 ,aes(x='',y=频数,fill=A)) + geom_bar(stat = 'identity',width = 1)+ coord_polar(theta = 'y')+ labs(x = '', y = '', title = '') + theme(axis.text = element_blank()) + theme(axis.ticks = element_blank()) + scale_fill_discrete(labels=label) job$最低薪资 <- as.numeric(job$最低薪资) summary(job$最低薪资) ggplot(job,aes(x=最低薪资))+ geom_histogram(binwidth = 1,fill="brown3") library(sqldf) areasalary <- sqldf('select avg(最低薪资) as avgsalary,地区 as aera from job group by 地区 having count(地区)>2') hangyesalary <- sqldf('select avg(最低薪资) as avgsalary,公司行业 as hangye from job group by 公司行业 having count(公司行业)>10')