Як використовувати complete.cases в r (з прикладами)


Ви можете використовувати функцію complete.cases() в R, щоб видалити відсутні значення у векторі, матриці або кадрі даних.

Ця функція використовує такий базовий синтаксис:

 #remove missing values from vector
x <- x[complete. boxes (x)]

#remove rows with missing values in any column of data frame
df <- df[complete. boxes (df), ]

#remove rows with NA in specific columns of data frame
df <- df[complete. cases (df[, c(' col1 ', ' col2 ', ...)]), ] 

Наступні приклади показують, як використовувати цю функцію на практиці.

Приклад 1: Видалити відсутні значення з вектора

Наступний код показує, як видалити всі значення NA з вектора:

 #definevector
x <- c(1, 24, NA, 6, NA, 9)

#remove NA values from vector
x <- x[complete. boxes (x)]

x

[1] 1 24 6 9

Приклад 2: видаліть рядки з NA в будь-якому стовпці кадру даних

Наступний код показує, як видалити рядки зі значеннями NA в будь-якому стовпці кадру даних:

 #define data frame
df <- data. frame (x=c(1, 24, NA, 6, NA, 9),
                 y=c(NA, 3, 4, 8, NA, 12),
                 z=c(NA, 7, 5, 15, 7, 14))

#view data frame
df

   X Y Z
1 1 NA NA
2 24 3 7
3 NA 4 5
4 6 8 15
5 NA NA 7
6 9 12 14

#remove rows with NA value in any column data frame
df <- df[complete. boxes (df), ]

#view data frame 
df

   X Y Z
2 24 3 7
4 6 8 15
6 9 12 14

Приклад 3: видаліть рядки з NA в певних стовпцях кадру даних

Наступний код показує, як видалити рядки зі значеннями NA в певних стовпцях кадру даних:

 #define data frame
df <- data. frame (x=c(1, 24, NA, 6, NA, 9),
                 y=c(NA, 3, 4, 8, NA, 12),
                 z=c(NA, 7, 5, 15, 7, 14))

#view data frame
df

   X Y Z
1 1 NA NA
2 24 3 7
3 NA 4 5
4 6 8 15
5 NA NA 7
6 9 12 14

#remove rows with NA value in y or z column
df <- df[complete. cases (df[, c(' y ', ' z ')]), ]

#view data frame 
df

   X Y Z
2 24 3 7
3 NA 4 5
4 6 8 15
6 9 12 14

Додаткові ресурси

Як використовувати “Is Not NA” у R
Як приписати всі відсутні значення в R
Як замінити NA рядками в R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *