熱線電話:13121318867

登錄
首頁大數據時代如何將雜亂的數據整理好(一)數據完整性判斷
如何將雜亂的數據整理好(一)數據完整性判斷
2021-02-05
收藏
如何將雜亂的數據整理好(一)數據完整性判斷

來源:丁點幫你

作者:丁點helper

在前面的文章中,我們跟大家一起學習了R中的數據導入、基本的操作方法、描述性統計等內容。

這其中的很多操作都是針對格式和內容都完好的數據而言的。但在實際工作中,我們收集到的數據往往不那么完美,需要先進行一番清理。今天開始,我們來學習如何將雜亂的數據整理得井井有條。

示例數據導入

多重線性回歸,一般是指有多個自變量X,只有一個因變量Y。前面我們主要是以簡單線性回歸為例在介紹,兩者的差距主要在于自變量X的數量,在只有一個X時,就稱簡單線性回歸。

示例數據是某高校教師對本班學生的調查結果,為方便練習,大家可先下載:

文件名:survey.csv

鏈接: https://pan.baidu.com/s/1XZgdyb59wPyWy6wp_hmoQw

密碼: 5lyw

接下來導入數據至R中:

survey <- read.csv("http://Users//Desktop//titanic.csv", header = TRUE)

用下面的語句來了解一下這個數據:

#數據有多少行多少列dim(survey)[1] 238 17#獲取數據中的變量名稱 names(survey) [1] "ClassProb" "Status" "Year" "Division" "Gender" "HtCm" "Hand" "Haircut" [9] "Exercise" "Coursework" "Web" "TV" "Social" "Econ" "Animal" "Friends" [17] "Pulse"

可以知道,這項調查共涉及到238名同學,調查項目有17項。

數據清理第一步:有無缺失
多重線性回歸,一般是指有多個自變量X,只有一個因變量Y。前面我們主要是以簡單線性回歸為例在介紹,兩者的差距主要在于自變量X的數量,在只有一個X時,就稱簡單線性回歸。

今天這篇文章只介紹如何對數據的完整性進行判斷。

在survey這個數據庫的238條記錄中,如果某條記錄中的17個變量都獲取到了信息,不存在漏填的情況,那么認為這條記錄是完整的。

1.用complete.cases()這個函數得到數據中的每條記錄是否完整,其結果是一個邏輯型變量。

如下面的結果,survey這個數據的第一條記錄(第一行)是完整的,而第232條記錄是不完整的。

complete.cases(survey) [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE [20] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE [39] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE [58] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE [77] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE [96] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE[115] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE[134] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE[153] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE[172] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE[191] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE[210] TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE[229] TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE

2. 那么有多少條記錄是完整的呢?根據下面的結果,答案是232條。

下面的語句中,which()的作用是得到邏輯型變量complete.cases(survey)中值為TRUE的順序號。大家可以自行運行一下which(complete.cases(survey))這個語句,看看結果是什么。

所以最后用length(),可以得到共有多少條記錄的完整性檢驗結果為TRUE。

length(which(complete.cases(survey)))[1] 232

3. 僅保留所有完整的記錄,并生成一個新數據集。有兩種方法:

# 僅保留complete.cases(survey) = TRUE的記錄 survey_com <- survey[complete.cases(survey),] # 去掉有缺失情況的記錄survey_com <- na.omit(survey)

4. 我們也可以看看有缺失的記錄是哪些,來進一步考察數據的缺失規律。

survey_miss <- survey[!complete.cases(survey),] survey_miss

結果如下圖:

如何將雜亂的數據整理好(一)數據完整性判斷
如何將雜亂的數據整理好(一)數據完整性判斷

由圖可知:

  • Pulse這個變量缺失情況最嚴重;
  • survey_miss這個缺失數據集的行名稱為各條記錄在原始數據集survey中的行序號。

小結
多重線性回歸,一般是指有多個自變量X,只有一個因變量Y。前面我們主要是以簡單線性回歸為例在介紹,兩者的差距主要在于自變量X的數量,在只有一個X時,就稱簡單線性回歸。

面對一個數據,除了了解數據的行、列、變量等,每條記錄的完整性是我們首先需要關注的問題之一。因為缺失記錄和未缺失記錄之間的差異很可能會對數據分析結果的準確性有直接影響。

通過本文介紹的4個方面來判斷數據的缺失情況、定位完整數據和缺失數據,可以對所得樣本的質量進行估計,也可為數據填補做好準備。

關于缺失數據的處理方法,大家可以參考這篇文章。

如果你也有待處理的數據,那么快用今天學的方法檢驗一下你的數據是否完整吧。

只有從根本上了解自己的數據,把每一個缺失值處理好,才可能做出邏輯嚴密、有說服力的結果。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢