Lưu ý về lệnh summary khi check missing value

Để kiểm tra missing value, các bạn có thể sử dụng lệnh summary để thấy giá trị NA trong numeric vector, tuy nhiên lệnh này không kiểm tra được NA trong character vector.

x <- c(1, 2, NA, NA, 4)
y <- c("a", "b", NA, "c", "NA")
z <- c("", "NA", " ", "1", NA)
df <- data.frame(x, y, z)
df
##    x    y    z
## 1  1    a     
## 2  2    b   NA
## 3 NA <NA>     
## 4 NA    c    1
## 5  4   NA <NA>
options(width = 200)
summary(df)
##        x              y                  z            
##  Min.   :1.000   Length:5           Length:5          
##  1st Qu.:1.500   Class :character   Class :character  
##  Median :2.000   Mode  :character   Mode  :character  
##  Mean   :2.333                                        
##  3rd Qu.:3.000                                        
##  Max.   :4.000                                        
##  NA's   :2

Muốn đảm bảo chính xác trong dfNA hay không thì các bạn dùng lệnh any(is.na(df))

any(is.na(df)) ## Kết quả là TRUE cho thấy chắc chắn trong df có giá trị NA
## [1] TRUE
is.na(df$x) ## check thủ công từng cột
## [1] FALSE FALSE  TRUE  TRUE FALSE
is.na(df$y)
## [1] FALSE FALSE  TRUE FALSE FALSE
is.na(df$z)
## [1] FALSE FALSE FALSE FALSE  TRUE

Tách riêng giá trị NA

df$x[is.na(df$x)]
## [1] NA NA
df$y[is.na(df$y)]
## [1] NA
df$z[is.na(df$z)]
## [1] NA