ggplot2练习

目的:得到一组大学生就业数据,根据该数据进行画图。

参考: https://www.jianshu.com/p/03719d7c207f

ggplot2 安装与加载

#install
install.packages("ggplot2")

#load
library(ggplot2)

数据准备

得到四组xls文件,在excel中另存为csv文件,然后使用

data <- read.csv(file = 'XXX.csv')

即可得到数据集

需求分析

图表中要求有就业地,人数,性别三个因素,初步用就业地做横坐标,把人数做纵坐标,性别分开显示,demo如下:

初步图片

PROG START

首先先做一个各个年中在本省工作与外省工作的柱状统计:

分离单位所在地的前三个字符串并把它作为prov栏写入:

分割字符串函数:substring(x,start,end)

X2016$prov <-  substring(X2016$dwszd,1,3)
sum(X2016$prov == "陕西省",na.rm = TRUE) #353
sum(X2016$prov != "陕西省",na.rm = TRUE) #151
#另外50个NA不计入统计

OK,现在数据已经有了,接下来是画图和把各年份合成一张图。

统计各年陕西省内男女人数:

a2015 <- c(sum(D2015$prov == "陕西省" & D2015$xb == "男",na.rm = TRUE),sum(D2015$prov == "陕西省" & D2015$xb == "女",na.rm = TRUE))

#将各数据合成表格
data1 <-cbind(a2015,a2016,a2017)

#使用barplot画图
barplot(data1,main = "陕西省就职人数",names.arg = years,xlab = "月份",ylab = "收入",col = colors)

legend("topleft", regions, cex = 0.5, fill = colors)

各年份省内外就业人数:

#合成数据框
data2 <- data.frame(year = c(2015,2016,2017,2015,2016,2017),arange = c("省内","省内","省内","省外","省外","省外"),peo = c(a5,a6,a7,b5,b6,b7))

ggplot(data2,aes(year,peo,fill=arange)) + geom_bar(stat = "identity",position = "dodge") #使用ggplot2主题

各年度就业方向饼状图

#获得所有就业方向
qy <- unique(substring(D2015$dwxz,1,2))
qy <- qy[2:7] #去掉首元素NA

#统计2015年各方向人数
for (i in qy) {
    qyp <- append(qyp,sum(D2015$qy == i,na.rm = TRUE))
 }

Comments

2019-02-13

⬆︎TOP