Rdata003 探索性數(shù)據(jù)分析

1. 探索性數(shù)據(jù)分析(exploratory data analysis,EDA)

使用可視化方法和數(shù)據(jù)轉(zhuǎn)換來(lái)系統(tǒng)化地探索數(shù)據(jù)

  • 變量(列屬性)
    一種可測(cè)量的數(shù)量、質(zhì)量或?qū)傩浴?/li>

  • 變量在測(cè)量時(shí)的狀態(tài)。變量值在每次測(cè)量之間可以發(fā)生改變。
  • 觀測(cè) (行屬性)
    或稱個(gè)案,指在相同條件下進(jìn)行的一組測(cè)量(通常,一個(gè)觀測(cè)中的所有測(cè)量是在同一時(shí)間對(duì)同一對(duì)象進(jìn)行的)。一個(gè)觀測(cè)會(huì)包含多個(gè)值,每個(gè)值關(guān)聯(lián)到不同的變量。有時(shí)我們會(huì)將觀測(cè)稱為數(shù)據(jù)點(diǎn)。
  • 表格數(shù)據(jù)
    一組值的集合,其中每個(gè)值都關(guān)聯(lián)一個(gè)變量和一個(gè)觀測(cè)。如果每個(gè)值都有自己所屬的“單元”,每個(gè)變量都有自己所屬的列,每個(gè)觀測(cè)都有自己所屬的行,那么表格數(shù)據(jù)就是整潔的。

2. 對(duì)分布進(jìn)行可視化表示

  • 對(duì)變量分布進(jìn)行可視化的方法取決于變量是分類變量還是連續(xù)變量
  • 如果僅在較小的集合內(nèi)取值,那么這個(gè)變量就是分類變量。分類變量在 R 中通常保存為因子或字符向量。要想檢查分類變量的分布,可以使用條形圖
  • 如果可以在無(wú)限大的有序集合中任意取值,那么這個(gè)變量就是連續(xù)變量。數(shù)值型和日期時(shí)間型變量就是連續(xù)變量的兩個(gè)例子。要想檢查連續(xù)變量的分布,可以使用直方圖

3.典型值

條形圖和直方圖都用比較高的條形表示變量中的常見值,而用比較矮的條形表示變量中不常見的值。沒有條形的位置表示數(shù)據(jù)中沒有這樣的值。為了將這些信息轉(zhuǎn)換為有用的問(wèn)題,我們看看是否具有意料之外的情況

4.異常值

異常值是與眾不同的觀測(cè)或者是模式之外的數(shù)據(jù)點(diǎn)。有時(shí)異常值是由于數(shù)據(jù)錄入錯(cuò)誤而產(chǎn)生的;有時(shí)異常值則能開辟出一塊重要的新科學(xué)領(lǐng)域。如果數(shù)據(jù)量比較大,有時(shí)很難在直方圖上發(fā)現(xiàn)異常值。

5.缺失值

如果在數(shù)據(jù)集中發(fā)現(xiàn)異常值,但只想繼續(xù)進(jìn)行其余的分析工作,那么有 2 種選擇

  • 將帶有可疑值的行全部丟棄
    通常不建議使用這種方式,因?yàn)?strong>一個(gè)無(wú)效測(cè)量不代表所有測(cè)量都是無(wú)效的。此外,如果數(shù)據(jù)質(zhì)量不高,若對(duì)每個(gè)變量都采取這種做法,那么你最后可能會(huì)發(fā)現(xiàn)數(shù)據(jù)已經(jīng)所剩無(wú)幾
diamonds2 <- diamonds %>%
   filter(between(y, 3, 20))
  • 使用缺失值來(lái)代替異常值。
    最簡(jiǎn)單的做法就是使用 mutate() 函數(shù)創(chuàng)建一個(gè)新變量來(lái)代替原來(lái)的變量。你可以使用 ifelse() 函數(shù)將異常值替換為 NA
diamonds2 <- diamonds %>%
   mutate(y = ifelse(y < 3 | y > 20, NA, y))

ifelse()
ifelse(test, yes, no), test 是一個(gè)邏輯向量,如果 test 為 TRUE,函數(shù)結(jié)果就是第二個(gè)參數(shù) yes 的值;如果 test 為 FALSE,函數(shù)結(jié)果就是第三個(gè)參數(shù) no 的值

ggplot2 在繪圖時(shí)會(huì)忽略缺失值,但會(huì)提出警告以通知缺失值被丟棄了

ggplot(data = diamonds2, mapping = aes(x = x, y = y)) + 
  geom_point() 
#> Warning: Removed 9 rows containing missing values #> (geom_point).

# 要想不顯示這條警告,可以設(shè)置 na.rm = TRUE
ggplot(data = diamonds2, mapping = aes(x = x, y = y)) + 
  geom_point( na.rm = TRUE) 

6.相關(guān)變動(dòng)

如果變動(dòng)描述的是一個(gè)變量?jī)?nèi)部的行為,那么相關(guān)變動(dòng)描述的就是多個(gè)變量之間的行為。相關(guān)變動(dòng)是兩個(gè)或多個(gè)變量以相關(guān)的方式共同變化所表現(xiàn)出的趨勢(shì)。查看相關(guān)變動(dòng)的最好方式是將兩個(gè)或多個(gè)變量間的關(guān)系以可視化的方式表現(xiàn)出來(lái)。如何進(jìn)行這種可視化表示同樣取決于相關(guān)變量的類型

6.1 分類變量與連續(xù)變量
6.2 兩個(gè)分類變量

要想對(duì)兩個(gè)分類變量間的相關(guān)變動(dòng)進(jìn)行可視化表示,需要計(jì)算出每個(gè)變量組合中的觀測(cè)數(shù)量。完成這個(gè)任務(wù)的其中一種方法是使用內(nèi)置的 geom_count() 函數(shù)

6.3 兩個(gè)連續(xù)變量

對(duì)于兩個(gè)連續(xù)變量間的相關(guān)變動(dòng)的可視化表示,我們已經(jīng)介紹了一種非常好的方法:使用geom_point() 畫出散點(diǎn)圖。可以將相關(guān)變動(dòng)看作點(diǎn)的模式。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。