標籤:

R語言實戰第三四章內容學習及心得

學習過程:

首先,邊看書邊將書上的代碼敲了一遍,基本錯誤都在於漏敲字母之類。

接著將猴子老師的課程聽了幾遍,又敲了代碼,書上沒有的幾個函數理解和應用起來有點小困難。

最後,按照猴子老師的要求,自己練習處理數據。

這一關的難點在於自己獨立處理數據,以下是遇到的苦難及心得。

1.數據源

不知道去哪找數據源。

通過看社群成員的討論及文章,知道了kaggle這個平台。另外,網路搜索後知道數據堂等網站也有很多好的數據。具體參見數據分析和挖掘有哪些公開的數據來源? - 知乎。

2.看書要逐字逐句看

平常敲書上的代碼或者課程中的代碼都很容易,一旦自己運用起來卻很困難。

具體一些函數的相關參數的用法不熟悉,經一番搜索後解決了,後來再看書發現書上已經講了相關內容。體現了自己看書不仔細的缺點,另外,也沒有及時複習。最好的方法是做筆記,就算是複述一遍也能更好的理解和記憶。

3.熟悉了help的用法

在練習的過程中,根據自己的需要,熟悉了help的用法,尤其是例子的使用,感覺非常方便。

下面是作業:

處理朝陽醫院數據:

1.導入數據

require("openxlsx")readFilePath<-"E:/朝陽醫院2016年銷售數據.xlsx"excelData<-read.xlsx(readFilePath,"Sheet1")require("stringr")

2.重命名列名

names(excelData)<-c("time","cardno","drugID", "drugname","saleNumber", "virtualmoney","actualmoney")

3.刪除缺失行

excelData<-excelData[!is.na(excelData$time),]

4.處理時間

timeSplit<-str_split_fixed(excelData$time," ",n=2)excelData$time<-timeSplit[,1]excelData$time<-as.Date(excelData$time,"%Y-%m-%d")

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),]

7.刪除重複行

kpi1<-excelData[!duplicated(excelData[,c("time","cardno")]),]

8.計算消費者數量

consumeNumber<-nrow(kpi1)

9.計算月份數

startTime<-kpi1$time[1]endTime<-kpi1$time[consumeNumber]day<-as.numeric(endTime-startTime)month<-day%/%30

10.計算月消費次數

monthConsume<-consumeNumber/monthmonthConsume<-format(round(monthConsume,2),nsmall = 2)<-format(round(monthConsume,2),nsmall = 2)

結果:

> monthConsume[1] "899.67"

11.計算月均消費金額

totalMoney<-sum(excelData$actualmoney,na.rm = TRUE)monthMoney<-totalMoney/month

結果:

> monthMoney[1] 50771.71

12.客單價

pct <- totalMoney / consumeNumberpct<-format(round(pct,2),nsmall = 2)

結果:

> pct[1] "56.43"

13.消費趨勢

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, xlab="時間(年份-第幾周)", ylab="消費金額", xaxt = "n", main= "2016年朝陽醫院消費曲線", col="blue", type="b")axis(1,at=week$timeNumber, labels=week$time, cex.axis = 1.5)


推薦閱讀:

數據分析師入門
吳恩達deep learning中實現CNN的小作業
詳解特徵工程與推薦系統及其實踐
用python建立房價預測模型|python數據分析建模實例
泰坦尼克號倖存者特徵分析

TAG:數據分析 |