目的:将已有的业务表(csv格式),导入到Rstudio中。根据“开始时间”,按月份统计出业务量。画出下图。(注:我选择的业务表中只有1、2、3月的数据)
开始吧!!!
1.加载csv格式的数据表,并查看字段名:
##加载数据 khsx <-read.csv("khsx.csv",header = TRUE) names(khsx)##查看列名
2.加载将要使用的包
##加载包
library(ggplot2) ##画图用的包
library(lubridate) ##提取时间字段月份的包
library(ggthemes) ##样式主题包
3.数据整合,统计出作图的数据集
##根据月份统计业务量 len<-aggregate(开始时间~factor(month(开始时间)),khsx,length) ##重命名数据框"len"的列名称。 names(len)[1:2]<-c("月份","业务量")
4.作图
##画图 ggplot(len,aes(月份,业务量,fill=月份))+ ##ggplot2的数据层和映射层(单有此层无图) geom_bar(position = "dodge",stat = "identity",width = 0.5)+ ##ggplot2的几何图像层(至少要到这一层) theme_economist() ##ggplot2的主题层
上面代码解释:在ggplot2中, 所接受的数据集必须为数据框(data.frame)格式, 如上面的"len"数据集,aes(行,列,fill=月份),fill部分为按月份填充默认颜色。
通过 "+"号来连接图层。geom_bar表示画柱状图,position = "dodge"意思为将柱子并列放置,stat是指统计变换;stat=\'identity\'是指不进行统计变换即业务量就是纵。
结束!!!
所使用包的知识讲解:
1.处理时间字段
提取月份,日,年份数字使用了lubridate包
1 library(lubridate) 2 d<-c("2012-1-10","2013-5-9","2014-6-25") 3 year(d) 4 month(d) 5 day(d)
请发表评论