Jak używać complete.cases w r (z przykładami)


Możesz użyć funkcjicomplete.cases() w R, aby usunąć brakujące wartości z wektora, macierzy lub ramki danych.

Ta funkcja wykorzystuje następującą podstawową składnię:

 #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 ', ...)]), ] 

Poniższe przykłady pokazują, jak w praktyce wykorzystać tę funkcję.

Przykład 1: Usuń brakujące wartości z wektora

Poniższy kod pokazuje jak usunąć wszystkie wartości NA z wektora:

 #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

Przykład 2: Usuń wiersze z NA w dowolnej kolumnie ramki danych

Poniższy kod pokazuje, jak usunąć wiersze z wartościami NA w dowolnej kolumnie ramki danych:

 #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

Przykład 3: Usuń wiersze z NA w określonych kolumnach ramki danych

Poniższy kod pokazuje jak usunąć wiersze z wartościami NA w określonych kolumnach ramki danych:

 #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

Dodatkowe zasoby

Jak używać „Is Not NA” w R
Jak wszystkim przypisać brakujące wartości w R
Jak zamienić NA na ciągi w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *