學(xué)習(xí)筆記:R語言數(shù)據(jù)分析與挖掘(一)

???????????????????????????????????????????????????????????????????? 李慧子

R語言是一門功能強(qiáng)大狂秘、廣受歡迎的數(shù)據(jù)挖掘類軟件咱娶。由于工作需要和個人興趣,本人利用閑暇時間滩援,采用邊學(xué)習(xí)邊實(shí)踐的方法栅隐,完成了R語言的快速入門。現(xiàn)將學(xué)習(xí)過程中歸納的知識點(diǎn)分享給大家玩徊,一方面可以讓對R還比較陌生的朋友能夠迅速了解R語言的整體框架與數(shù)據(jù)處理流程租悄,另一方面也是為讓自己更好地吸收理解。我主要學(xué)習(xí)參考的是《R語言數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》恩袱、《R語言實(shí)戰(zhàn)》這兩本工具書泣棋,前者的特色是有豐富的案例研究,而后者更偏向知識點(diǎn)的講解和梳理畔塔√侗玻總之各有千秋鸯屿,可以結(jié)合起來學(xué)習(xí)。相關(guān)知識點(diǎn)的思維導(dǎo)圖如下:

1把敢、R語言學(xué)習(xí)的知識框架


2寄摆、R語言框架涵蓋的知識點(diǎn)

(1)R語言基本知識


R最激動人心的一部分功能是通過可選模塊的下載和安裝來實(shí)現(xiàn)的。目前有5500多個包(package)的用戶貢獻(xiàn)模塊可從http://cran.r-project.org/web/packages下載修赞。這些包提供了橫跨各種領(lǐng)域的新功能婶恼,包括分析地理數(shù)據(jù)、處理蛋白質(zhì)譜等柏副。

庫(library):計算機(jī)上存儲包的目錄成為庫勾邦,函數(shù)library()可以顯示庫中有哪些包。

包的安裝:install.packages(“”)

包的載入:library()

包的使用:help(package=“package_name”)可以輸出某個包的簡短描述以及包中的函數(shù)名稱和數(shù)據(jù)集名稱的列表割择。

(2)創(chuàng)建眷篇、導(dǎo)入數(shù)據(jù)集


1.數(shù)據(jù)類型

①向量:用于存儲數(shù)值型、字符型或邏輯型數(shù)據(jù)的一維數(shù)組荔泳。單個向量中的數(shù)據(jù)必須擁有相同的數(shù)據(jù)類型铅歼。

創(chuàng)建向量函數(shù):c()

例子:a<-c(1,2,5,3)

②矩陣:一個二維數(shù)組,每個元素?fù)碛邢嗤臄?shù)據(jù)類型换可。

創(chuàng)建矩陣函數(shù):matrix(vector,nrow,ncol,byrow=logical_value,dimnames=list(,))

例子:y<-matrix(1:20,nrow=5,ncol=4)#創(chuàng)建一個5*4的矩陣#

③數(shù)組:與矩陣類似椎椰,但是維度可以大于2。

創(chuàng)建數(shù)組函數(shù):array()

④數(shù)據(jù)框:不同的列可以包含不同模式(數(shù)值型沾鳄、字符型等)的數(shù)據(jù)慨飘,是R中最常處理的數(shù)據(jù)結(jié)構(gòu)。

創(chuàng)建數(shù)據(jù)框函數(shù):data.frame(col1,col2,col3,…)

⑤因子:變量可歸結(jié)為名義型译荞、有序型或連續(xù)型變量瓤的。名義變量和有序變量在R中稱為因子。

創(chuàng)建因子函數(shù):factor()

例子:diabetes<-c(“Type1”, “Type2”, “Type1”, “Type1”)

Diabetes<-factor(diabetes)#將此向量存儲為(1,2,1,1)吞歼,并在內(nèi)部將其關(guān)聯(lián)為1= Type1,2= Type2#

數(shù)值型變量可以用levels和labels參數(shù)來編碼成因子圈膏。

⑥列表:對象的有序集合。

列表創(chuàng)建函數(shù):list()

2.導(dǎo)入數(shù)據(jù)集

? 讀取Excel文件的最好方式篙骡,就是在Eexel中將其導(dǎo)出為一個逗號分隔文件(csv)

? 讀取數(shù)據(jù)函數(shù):read.csv('./data/book3.csv',he=T)

網(wǎng)頁上的文字可以使用函數(shù)readlines()來下載到一個R的字符向量中稽坤,然后使用grep()和gsub()一類的函數(shù)處理。對于結(jié)構(gòu)復(fù)雜的網(wǎng)頁糯俗,可以使用RCurl包和XML包來提取信息尿褪。

3.數(shù)據(jù)集的標(biāo)注

包括為變量名添加描述性標(biāo)簽,以及為類別性變量中的編碼添加值標(biāo)簽得湘。

例如:names(patientdata)[2]<-“Age at hospitalization(in years)”#將age重命名為“Age at hospitalization(in years”#

Patientdata$gender<-factor(patientdata$gender,levels=c(1,2),labels=c(“male”, “female”))#創(chuàng)建值標(biāo)簽杖玲,1表示男性,2表示女性#

(3)數(shù)據(jù)探索


要點(diǎn)歸納

1.數(shù)據(jù)質(zhì)量分析


例子:對餐飲銷售額數(shù)據(jù)進(jìn)行缺失值和異常值分析

編寫代碼對數(shù)據(jù)缺失值個數(shù)淘正、缺失率以及缺失值所在的位置進(jìn)行分析摆马。


可以看到缺失值個數(shù)輸出結(jié)果為1臼闻,占樣本總量的0.497%,缺失值位于第15行囤采,2015年2月14日銷量數(shù)據(jù)缺失些阅。

編寫代碼繪制箱形圖,對數(shù)據(jù)異常值進(jìn)行分析斑唬。



箭頭所示的是一個標(biāo)準(zhǔn)差的區(qū)間,可以看出箱形圖中超過上下界的8個銷售額數(shù)據(jù)可能為異常值黎泣,需要引起注意并結(jié)合具體業(yè)務(wù)分析恕刘。

2.數(shù)據(jù)特征分析

貢獻(xiàn)度分析

貢獻(xiàn)度分析又稱帕累托分析。就餐飲企業(yè)來說抒倚,應(yīng)用貢獻(xiàn)度分析可以重點(diǎn)改善某菜系盈利最高的前80%的菜品褐着,或者重點(diǎn)發(fā)展綜合影響最高的80%的部門。這種結(jié)果可以通過帕累托圖直觀地呈現(xiàn)出來托呕。

例子:對餐飲系統(tǒng)對應(yīng)的菜品盈利數(shù)據(jù)進(jìn)行帕累托分析含蓉。代碼及反饋結(jié)果如下



??? 可以發(fā)現(xiàn),菜品A1-A7共7個菜品项郊,占菜品總類數(shù)的70%馅扣,總盈利約占該月盈利額的85%。根據(jù)帕累托原則着降,應(yīng)該增加對菜品A1-A7的成本投入差油,減少對菜品A8-A10的投入以獲得更高的盈利額。

(4)數(shù)據(jù)預(yù)處理

在海量原始數(shù)據(jù)中存在不量不完整任洞、有異常蓄喇、不一致的數(shù)據(jù),在使用前需要進(jìn)行數(shù)據(jù)清洗交掏。數(shù)據(jù)清洗完成后接著進(jìn)行數(shù)據(jù)集成妆偏、變換、規(guī)約等一系列的處理盅弛,該過程就是數(shù)據(jù)預(yù)處理钱骂。在數(shù)據(jù)挖掘的過程中,數(shù)據(jù)預(yù)處理工作量占到了整個過程的60%挪鹏。

數(shù)據(jù)預(yù)處理的主要內(nèi)容包括數(shù)據(jù)清理罐柳、數(shù)據(jù)集成、數(shù)據(jù)變換和數(shù)據(jù)規(guī)約狰住。這里主要對數(shù)據(jù)清理進(jìn)行重點(diǎn)標(biāo)示张吉。


缺失值處理:

1. 刪除法

刪除行:na.omit()

刪除變量:data[,-p]

2. 替換法

數(shù)值型變量用均值替換,非數(shù)值型變量催植,則使用其他全部有效觀測值的中位數(shù)或者眾數(shù)進(jìn)行替換肮蛹。

3. 插補(bǔ)法

回歸插補(bǔ):利用回歸模型勺择,將需要插值補(bǔ)缺的變量作為因變量,其他相關(guān)變量作為自變量伦忠,通過回歸函數(shù)lm()預(yù)測出因變量的值來對缺失變量進(jìn)行補(bǔ)缺省核。

多重插補(bǔ):原理是從一個包含缺失值的數(shù)據(jù)集中生成一組完整的數(shù)據(jù),如此進(jìn)行多次昆码,從而產(chǎn)生缺失值的一個隨機(jī)樣本气忠,R中的mice函數(shù)可以用來進(jìn)行多重插補(bǔ)。

例子:對某餐廳一段時間的銷量表中的缺失值赋咽,用均值替換旧噪、回歸插補(bǔ)、多重插補(bǔ)進(jìn)行

缺失值插補(bǔ)脓匿,將異常值按缺失值處理淘钟。

首先對缺失值、異常值進(jìn)行識別陪毡。R語言代碼如下:


用is.na()函數(shù)對缺失值進(jìn)行識別米母,從結(jié)果可發(fā)現(xiàn)第15行銷售數(shù)據(jù)存在缺失。然后繼續(xù)用單變量散點(diǎn)圖和箱形圖識別數(shù)據(jù)中的異常值毡琉。R語言代碼如下:


R反饋回的結(jié)果如下圖:


將異常值處理成缺失值铁瞒。代碼如下:


對缺失值進(jìn)行處理。代碼如下:


① 行刪除法處理缺失值


處理完數(shù)據(jù)如下:



② 均值替換法處理缺失值


處理完數(shù)據(jù)如下:


③ 回歸插補(bǔ)法處理缺失值


處理完數(shù)據(jù)如下:


(5)簡單的數(shù)據(jù)建模


?????? 第一篇筆記先寫到這哈桅滋,感覺R語言涉及的知識面還是挺廣的精拟,學(xué)習(xí)之路還很長。最后虱歪,想自己動手操作一番蜂绎,需要餐飲案例數(shù)據(jù)的朋友可以私信我。相互促進(jìn)笋鄙,交流心得师枣。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市萧落,隨后出現(xiàn)的幾起案子践美,更是在濱河造成了極大的恐慌,老刑警劉巖找岖,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件陨倡,死亡現(xiàn)場離奇詭異,居然都是意外死亡许布,警方通過查閱死者的電腦和手機(jī)兴革,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人杂曲,你說我怎么就攤上這事庶艾。” “怎么了擎勘?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵咱揍,是天一觀的道長。 經(jīng)常有香客問我棚饵,道長煤裙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任噪漾,我火速辦了婚禮硼砰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘怪与。我一直安慰自己,他們只是感情好缅疟,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布分别。 她就那樣靜靜地躺著,像睡著了一般存淫。 火紅的嫁衣襯著肌膚如雪耘斩。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天桅咆,我揣著相機(jī)與錄音括授,去河邊找鬼。 笑死岩饼,一個胖子當(dāng)著我的面吹牛荚虚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播籍茧,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼版述,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了寞冯?” 一聲冷哼從身側(cè)響起渴析,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吮龄,沒想到半個月后俭茧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡漓帚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年母债,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尝抖。...
    茶點(diǎn)故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡场斑,死狀恐怖漓踢,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情漏隐,我是刑警寧澤喧半,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站青责,受9級特大地震影響挺据,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜脖隶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一扁耐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧产阱,春花似錦婉称、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至庄敛,卻和暖如春俗壹,著一層夾襖步出監(jiān)牢的瞬間档叔,已是汗流浹背踢星。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蝠检,地道東北人怖亭。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓涎显,卻偏偏與公主長得像,于是被迫代替她去往敵國和親兴猩。 傳聞我的和親對象是個殘疾皇子棺禾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容