R語言數據可視化之ggplot2包,從柱狀圖開始。從簡單的業務量統計開始。 ...
目的:將已有的業務表(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)