目录

读取数据

添加平均工资列 

 筛选操作

我想知道上海的工作有哪些?

 北上广深的工作机会占比?

聚合数据

北上广深城市薪资的平均值 ?

排序

使用ggplot2包做堆积柱状图


今天学习一下R语言中重要的对象类型DataFrame(数据框)

读取数据

读取数据,采用的数据是网络数据类工作的招聘信息,包含职位关键词、城市、公司名、学历要求、经验要求、职位名称、技术栈要求、最高工资、最低工资,用read.csv()来读取该文件,用View()来查看

##读取文件并查看
job_data <- read.csv("C:/Users/ABC/Desktop/《数据分析师求职面试指南》书籍资源/数据、代码/4.2/R语言数据分析.csv")
View(job_data)

r语言把data.frame转换成numeric data.frame r语言_数据分析

添加平均工资列 

来一起看看岗位的平均工资,这里简单用(最高工资+最低工资)/ 2 来计算,添加一列salary

#基于以上数据,对数据框进行相关操作。可以添加一列,计算每条薪资数据的平均值,并查看每一列数据的类型
job_data$salary <- (job_data$salary_high + job_data$salary_low) / 2
lapply(job_data,'class')

r语言把data.frame转换成numeric data.frame r语言_数据_02

 筛选操作

我想知道上海的工作有哪些?

#筛选数据,我想知道上海的工作有哪些?
job_data_shanghai <- subset(job_data,city == '上海')
View(job_data_shanghai)

r语言把data.frame转换成numeric data.frame r语言_ci_03

 我想知道北上广深的工作有哪些?

#筛选数据,我想知道北上广深的工作有哪些?
job_data_bsgs <- subset(job_data,city %in% c('北京','上海','深圳','广州'))
View(job_data_bsgs)

r语言把data.frame转换成numeric data.frame r语言_数据_04

 北上广深的工作机会占比?

#求一下北上广深的工作占所有工作的比例
print(nrow(job_data_bsgs) / nrow(job_data))

r语言把data.frame转换成numeric data.frame r语言_r语言_05

聚合数据

北上广深城市薪资的平均值 ?

#聚合数据,计算北上广深城市薪资的平均值
city_job_data <-aggregate(job_data_bsgs$salary,by = list(job_data_bsgs$city,job_data_bsgs$experience),
                                                    FUN=mean)
colnames(city_job_data) <- c('city','salary','experience')
View(city_job_data)

r语言把data.frame转换成numeric data.frame r语言_数据_06

 

 

排序

#数据排序,按照北上广深的薪资平均值从高到低进行排序
city_job_data[order(city_job_data$salary,decreasing = T),]

 

r语言把data.frame转换成numeric data.frame r语言_数据挖掘_07

使用ggplot2包做堆积柱状图

install.packages('ggplot2')
library(ggplot2)

##柱状图
ggplot(city_job_data,aes(x=city,y=salary,fill=experience))+
  geom_bar(stat='identity',position='stack')

 

r语言把data.frame转换成numeric data.frame r语言_数据_08