簡單數據處理與分析
一、數據來源與分析指標
此次分析的數據是朝陽醫院2016年銷售數據,分析指標有月均消費次數、月均消費金額、客單價以及消費趨勢。
二、安裝必要的包
讀取Excel中的數據可以選擇使用openxlsx包,字元串的處理選擇使用stringr包。安裝並載入這兩個包的代碼如下:
install.packages("openxlsx")library(openxlsx)install.packages("stringr")library(stringr)
三、數據的預處理
1.讀取數據
excelreadFilePath <- "C:/朝陽醫院2016年銷售數據.xlsx"excelData <- read.xlsx(readFilePath,"Sheet1")
2.變數的重命名
names(excelData) <- c("time","cardno","drugid","drugname", "salenumber","virtualmoney", "actualmoney")
3.缺失值的處理
excelData <- excelData[!is.na(excelData$time),]
4.日期值的處理
拆分變數time並選擇日期
timeSplit <- str_split_fixed(excelData$time, " ",n=2)excelData$time <-timeSplit[,1]
轉換數據類型
class(excelData$time)excelData$time <- as.Date(excelData$time,"%Y-%m-%d")class(excelData$time)
5.其他數據類型的轉換
excelData$saleNumber <- as.numeric(excelData$saleNumber)excelData$virtualmoney <- as.numeric(excelData$virtualmoney)excelData$actualmoney <- as.numeric(excelData$actualmoney)
6.數據的排序
日期值的降序排序是指最早的日期在前面,最晚的日期在後面。
excelData <- excelData[order(excelData$time,decreasing = FALSE),]
四、數據分析
1.月均消費次數
總消費次數
kpi1 <- excelData[!duplicated(excelData[,c("time","cardno")]),] consumeNumber <- nrow(kpi1) #5398次
總月份數
starttime <- kpi1$time[1]endtime <- kpi1$time[nrow(kpi1)]days <- as.numeric(endtime-starttime) month <- days%/%30 #6個月
月均消費次數=總消費次數/總月份數
monthconsume <- consumeNumber/monthmonthConsume <- format(round(monthconsume, 2), nsmall = 2) #899.67次
2.月均消費金額
totalmoney <- sum(excelData$actualmoney,na.rm = TRUE)monthmoney <- totalmoney/month #50771.71
3.客單價
pct <- totalmoney/consumeNumberpct <- format(round(pct, 2), nsmall = 2) #56.43元
4.消費趨勢
計算相應的指標
week <- tapply(excelData$actualmoney,format(excelData$time,"%Y-%U"),sum)week <- as.data.frame.table(week)names(week) <- c("time" ,"actualmoney")week$time <- as.character(week$time)week$timeNumber <- c(1:nrow(week))
繪製圖形
plot(week$timeNumber,week$actualmoney,type = "b", col="blue", xlab="時間(年份-第幾周)", ylab="消費金額", xaxt="n", main="2016年朝陽醫院消費金額曲線")axis(1,at=week$timeNumber, labels=week$time, cex.axis = 1.5)
圖形效果
四、總結
整個數據分析與處理過程使用的部分函數沒有在教材中見到過,實際操作過程中總是遇到這樣或那樣的問題,如沒有區分大小寫,少了標點符號等等。需要練習和糾正的地方還有很多,希望自己能夠克服這些困難。
推薦閱讀:
※python抓取課工廠網站數據和分析|python數據分析實例
※用戶與許可權(節選自《MySQL數據分析實戰》講義)
※一些關於TI7隊伍的數據分析——Liquid篇
※記錄我是如何轉型大數據分析(二)——iris
※數據團隊建設思考
TAG:數據分析 |