R语言:na.fail和na.omit
? ? ? ?實際工作中,數據集很少是完整的,許多情況下樣本中都會包括若干缺失值NA,這在進行數據分析和挖掘時比較麻煩。?
R語言通過na.fail和na.omit可以很好地處理樣本中的缺失值。
example:
data<-c(1,2,NA,2,4,2,10,NA,9)
data.na.omit<-na.omit(data)
data.na.omit
? ? [1] ?1 ?2 ?2 ?4 ?2 ?10 ?9
? ? attr(,"na.action")
? ? [1] 3 8
? ? attr(,"class")
? ? [1] "omit"
attr(data.na.omit,"na.action")
? ? [1] 3 8
? ? attr(,"class")
? ? [1] "omit"
另外還可以使用!x方式方便地刪除NA。例如:
a<-c(1,2,3,NA,NA,2,NA,5)
a[!is.na(a)]
[1] 1 2 3 2 5?
? ? ? ?其中,is.na用于判斷向量內的元素是否為NA,返回結果:c(FALSE,FALSE,FALSE,TRUE,TRUE,FALSE,TRUE,FALSE),即a內元素為NA,其對應的下標元素是TRUE,反之是FALSE。!x是取非邏輯運算符,!is.na(a)表示a內元素不為NA,其對應的下標元素是TRUE,反之是FALSE。通過a[!is.na(a)]進行索引后,即可取出a內不為NA的元素,將其過濾。
- 其中,函數na.fail和 na.omit 不僅可以應用于向量,也可以應用于矩陣和數據框。
?
example:
data <- read.table(text="
a b c d e f
NA 1 1 1 1 1
1 NA 1 1 1 1
1 1 NA 1 1 1
1 1 1 NA 1 1
1 1 1 1 NA 1
1 1 1 1 1 NA",header=T)
na.omit(data)
data
>[1] a b c d e f
<0 行> (或0-長度的row.names)
---------------------?
作者:SThranduil?
來源:CSDN?
原文:https://blog.csdn.net/SThranduil/article/details/71710283?
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
總結
以上是生活随笔為你收集整理的R语言:na.fail和na.omit的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: R语言:cbind()和rbind()
- 下一篇: R语言:常用函数总结