從零學(xué)數(shù)據(jù)分析:簡單數(shù)據(jù)分析(一塊聽聽的課程)
猴子的一個(gè)觀點(diǎn):未必要同時(shí)學(xué)那么多課程叙身,可以先學(xué)習(xí)“r語言”在等到覺得統(tǒng)計(jì)學(xué)有必要開始學(xué)習(xí)的時(shí)候再開始學(xué)封拧,否則太枯燥的理論志鹃,人們很難堅(jiān)持下去
月均消費(fèi)次數(shù):把每個(gè)人的所有消費(fèi)次數(shù)合并在除以12
月均消費(fèi)金額:把每個(gè)人消費(fèi)的錢合并在除以12
客單價(jià):一定時(shí)間內(nèi)所有金額除以所有客人的總數(shù)
開始數(shù)據(jù)分析:
第一步將excel數(shù)據(jù)讀入到r語言中,最常用是“XL Connect”包和“openxlsx"包
個(gè)人比較喜歡”openxlsx“包泽西,只要讀取文件的路徑
大部分的時(shí)間都用在對(duì)數(shù)據(jù)預(yù)處理中曹铃,然后得到想要的數(shù)據(jù)
install.packages("openxlsx")
library("openxlsx")
readFilepath <- "c:/朝陽醫(yī)院2016年銷售數(shù)據(jù).xlsx"
excelData <- read.xlsx(readFilepath,"sheet1")
實(shí)際操作時(shí)把excel表命名為“朝陽醫(yī)院2016年銷售數(shù)據(jù)”放在了一個(gè)D盤名字為“朝陽醫(yī)院2016年銷售數(shù)據(jù)”的文件夾中,結(jié)果使用raadFilePath讀取不出來尝苇,報(bào)錯(cuò)后把命名為“朝陽醫(yī)院2016年銷售數(shù)據(jù)”的excel表直接放在D盤中,在使用“readFilepath立馬讀取出來了埠胖,非常高興糠溜,在單位的會(huì)議室激動(dòng)的跑來跑去,大喊大叫直撤,李強(qiáng)厲害非竿,比吃了蜜還甜,真的要記住這樣克服了學(xué)習(xí)困難中的激動(dòng)時(shí)候谋竖,真的比”性“红柱,”物質(zhì)獎(jiǎng)勵(lì)”等刺激都要興奮,這也是老天對(duì)熱愛學(xué)習(xí)的人最好的回饋蓖乘。
導(dǎo)入數(shù)據(jù)我都花費(fèi)了很多的時(shí)間锤悄,開始是沒有"readxlsx"函數(shù)需要升級(jí)R的版本到3.4.1,各種谷歌搜索嘉抒,折騰半天升級(jí)成功零聚,在R中導(dǎo)入的數(shù)據(jù)不完整,轉(zhuǎn)身在RSTUDIO中輸入些侍,并在google中搜索關(guān)于這一講的學(xué)習(xí)筆記隶症,終于成功完整導(dǎo)入數(shù)據(jù),開心岗宣,對(duì)別人來說是一個(gè)很小的進(jìn)步蚂会,對(duì)我來說是很大進(jìn)步,越來越愛學(xué)編程了耗式,感謝自己不嫌起點(diǎn)上的自己的笨拙胁住。
預(yù)處理2:列名從命名
在編碼的世界里,使用英文會(huì)好的多
3.處理缺失數(shù)據(jù)
在r中缺失值用”na“表示na.omit可以刪除所有缺失數(shù)據(jù)的行
excelData <- excelData[!is.na(excelData$time),]
十個(gè)邏輯運(yùn)算符:
< ?小于
<= 小于或等于
> 大于
>= 大于或等于
== 嚴(yán)格等于
刊咳!=不等于
措嵌!x ? 非x
x | y ? x或y
x & y ? ?x和y
isTRUE(x) ? 測(cè)試x是否為TRUE
4.處理日期格式
我們不需要time中的星期幾的格式,我們要做的是如何將這一列的日期字符串格式分開出我們想要的字符串芦缰,這就需要使用到R語言中的字符串處理包stringr企巢,以后遇到字符串處理的問題只要google這個(gè)包就好了,學(xué)會(huì)如何解決問題比直接告訴答案更有效让蕾,
這里面急了浪规,stringr包沒安裝完就直接往后面敲代碼或听,開始敲出來的代碼是這樣的,以為是stringr包沒有安裝完的原因笋婿,誰知道安裝完以后還是這樣誉裆,什么原因?缸濒?足丢??這時(shí)候沒管那么多心想著先完成往后敲代碼吧庇配,一定要多鼓勵(lì)自己斩跌,誰說自己學(xué)不好數(shù)學(xué)和編程的啊,我一定能學(xué)的好
class函數(shù)用于查看某一列的數(shù)據(jù)是什么格式捞慌,我們需要對(duì)日期進(jìn)行一些特殊計(jì)算耀鸦,我們看到日期還是字符串格式,需要將他們轉(zhuǎn)換為日期格式啸澡,as.date函數(shù)就可以將字符串轉(zhuǎn)換成日期格式
類型轉(zhuǎn)換函數(shù)
is ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?as
is.numeric() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?as.numeric()
is.character() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?as.character
is.vector() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? as.vector()
is.matrix() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?as.matrix()
is.data.frame() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? as.data.frame()
is.logical() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? as.logical()
數(shù)據(jù)預(yù)處理總結(jié)
step1:列名重命名
step2:刪除缺失數(shù)據(jù)
step3:處理日期
step4:數(shù)據(jù)類型轉(zhuǎn)換
step5:數(shù)據(jù)排序
總消費(fèi)次數(shù)
經(jīng)歷反反復(fù)復(fù)的很多次一邊聽老師的課程一邊敲代碼袖订,竟然都敲不出來,實(shí)在很沮喪嗅虏,那種熟悉的遇到困難是的“恐懼”與“自責(zé)”如期而來洛姑,這時(shí)候我腦子里想起了笑來老師的話,任何技能的習(xí)得皮服,都只能靠“反反復(fù)復(fù)重復(fù)很多次”才能熟練乃至精通吏口,那就再多練一次,在Rstudio中又新建了一個(gè)命名為“3”的項(xiàng)目冰更,從頭老老實(shí)實(shí)開始敲代碼产徊,這一次如有神助似的一路敲代碼過來,一切正常蜀细,寫到這里舟铜,我才深刻理解笑來老師的“每一步都算數(shù)”的意思,前面的困惑奠衔,迷茫谆刨,恐懼,不停的探尋都是有意義的归斤,而且必須經(jīng)歷這樣不停探尋的過程痊夭,(我忽然想起了自己的前半生都是在跌跌撞撞中探尋著,遇到笑來老師既是偶然又是必然脏里,最要感謝的人其實(shí)是自己她我,最困難的時(shí)候沒有放棄自己,不停得努力學(xué)習(xí),撞得頭破血流也沒有放棄對(duì)生命的探求)只有前面的反反復(fù)復(fù)才有后面的豁然開朗番舆,“困難是上帝給你的禮物"這句話從來不是”雞湯“酝碳,而是事實(shí),只是在困難的時(shí)候要多”鼓勵(lì)自己“告訴自己我只是”暫時(shí)沒有成功“而已恨狈,一個(gè)人的任何東西都可以被剝奪疏哗,唯獨(dú)人性最后的自由,在任何境遇中選擇一己態(tài)度和生活方式的自由不能被剝奪.