最近忙着找工作,拉勾网、智联各种简历网站海投,奈何接到的面试电话不是很多,去面试了两家也不尽人意。索性在家做了一个北京市数据分析岗位的分析报告。保佑我找到一份心仪的工作,阿门。
一、到某网站去爬数据,使用软件:八爪鱼(真的好用,一般人我不告诉他)。采集到的数据集如下:
二、对文本进行预处理,使用软件: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\')