数据分析师之工作篇

  最近忙着找工作,拉勾网、智联各种简历网站海投,奈何接到的面试电话不是很多,去面试了两家也不尽人意。索性在家做了一个北京市数据分析岗位的分析报告。保佑我找到一份心仪的工作,阿门。

一、到某网站去爬数据,使用软件:八爪鱼(真的好用,一般人我不告诉他)。采集到的数据集如下:

  

二、对文本进行预处理,使用软件: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')

 

  

 

posted @ 2017-02-16 22:21  数学男  阅读(552)  评论(0编辑  收藏  举报