Jak usunąć puste linie z ramki danych w r


Aby usunąć puste linie z ramki danych w R, możesz użyć następujących metod:

Metoda 1: Usuń wiersze z NA we wszystkich kolumnach

 df[rowSums(is. na (df)) != ncol(df), ]

Metoda 2: Usuń wiersze z NA w co najmniej jednej kolumnie

 df[complete. boxes (df), ]

Poniższe przykłady pokazują, jak zastosować każdą metodę w praktyce.

Przykład 1: Usuń wiersze z NA we wszystkich kolumnach

Załóżmy, że mamy następującą ramkę danych w R:

 #create data frame
df <- data. frame (x=c(3, 4, NA, 6, 8, NA),
                 y=c(NA, 5, NA, 2, 2, 5),
                 z=c(1, 2, NA, 6, 8, NA))

#view data frame
df

   X Y Z
1 3 NA 1
2 4 5 2
3 NA NA NA
4 6 2 6
5 8 2 8
6 NA 5 NA

Możemy użyć poniższego kodu, aby usunąć z ramki danych wiersze, które w każdej kolumnie mają wartości NA:

 #remove rows with NA in all columns
df[rowSums(is. na (df)) != ncol(df), ]

   X Y Z
1 3 NA 1
2 4 5 2
4 6 2 6
5 8 2 8
6 NA 5 NA

Należy pamiętać, że wiersz zawierający wartości NA w każdej kolumnie został usunięty.

Przykład 2: Usuń wiersze z NA w co najmniej jednej kolumnie

Załóżmy jeszcze raz, że w R mamy następującą ramkę danych:

 #create data frame
df <- data. frame (x=c(3, 4, NA, 6, 8, NA),
                 y=c(NA, 5, NA, 2, 2, 5),
                 z=c(1, 2, NA, 6, 8, NA))

#view data frame
df

   X Y Z
1 3 NA 1
2 4 5 2
3 NA NA NA
4 6 2 6
5 8 2 8
6 NA 5 NA

Za pomocą poniższego kodu możemy usunąć z ramki danych wiersze, które w co najmniej jednej kolumnie mają wartości NA:

 #remove rows with NA in at least one column
df[complete. boxes (df), ]

  X Y Z
2 4 5 2
4 6 2 6
5 8 2 8

Należy pamiętać, że wszystkie wiersze z wartością NA w co najmniej jednej kolumnie zostały usunięte.

Powiązane: Jak używać Complete.cases w R (z przykładami)

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:

Jak utworzyć pustą ramkę danych w R
Jak utworzyć pustą listę w R
Jak utworzyć pusty wektor w R

Dodaj komentarz

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