R語言︱缺失值處理_R︱資料操作與清洗

來源:互聯網
上載者:User


#缺失值

an=c(1,2,NA)is.na(an)                         #會形成一個布爾向量

布爾向量就是一群像(FALSE,FALSE,TURE)這樣的向量。


關於缺失值還有一個函數:complete.cases函數

該函數與is.na的區別在於:

1、輸出資料格式不同。is.na按照資料框格式形成一個(FALSE,FALSE,TURE)列,而complete.cases形成是一個數列向量,不再是按照資料框格式;

2、輸出資料內容不同。complete.cases輸出的邏輯向量與is.na正好相反,is.na的TURE為是缺失值;complete.cases的TURE為完整值。

an=c(1,2,NA)sum(complete.cases(an)) sum(!complete.cases(an))#==sum(is.na(an))mean(!complete.cases(an))  #獲得缺失比例==1/3

疑惑:為什麼布爾向量,sum一下可以得到數值。   ——因為R預設將TURE、FALSE當做1、0


#計算缺失值個數

sum(is.na(an))                    #單數列,sum一下可以直接計算“Ture”的數值和colSums(is.na(an),na.rm = T)      #多維數列,按列,na.rm為是否需要忽略缺失值,na.rm=T表示忽略,刪除rowSums(is.na(an),na.rm = T)      #多維數列,按行,na.rm為是否需要忽略缺失值,na.rm=T表示忽略,刪除


#資料框中的缺失值操作

#資料框中的缺失值操作
y <- an[is.na(an)]               #選中缺失值y<-  an[is.na(an)=="TRUE"]       #上同,選中缺失值an[is.na(an)] <- 0               # 表示將向量x中所以NA元素用0來代替an[(!is.na(an)) & x>0] -> z      #可以用 & 加入其他條件,進行篩選


————————————————————————————————————————————————————————————

缺失值檢測解決方案:

關於缺失值的檢測應該包括:缺失值數量、缺失值比例、缺失值與完整值資料篩選。

#缺失值解決方案sum(complete.cases(saledata))         #is.na(saledata)sum(!complete.cases(saledata))mean(!complete.cases(saledata))       #1/201數字,缺失值比例saledata[!complete.cases(saledata),]  #篩選出缺失值的數值


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.