Как удалить пустые строки из фрейма данных в r


Вы можете использовать следующие методы для удаления пустых строк из фрейма данных в R:

Способ 1. Удалите строки с NA во всех столбцах.

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

Способ 2. Удалите строки с NA хотя бы в одном столбце.

 df[complete. boxes (df), ]

Следующие примеры показывают, как использовать каждый метод на практике.

Пример 1. Удаление строк с NA во всех столбцах

Предположим, у нас есть следующий кадр данных в 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

Мы можем использовать следующий код для удаления строк из фрейма данных, которые имеют значения 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

Обратите внимание, что строка, содержащая значения NA в каждом столбце, была удалена.

Пример 2. Удаление строк с NA хотя бы в одном столбце.

Давайте снова предположим, что у нас есть следующий кадр данных в 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

Мы можем использовать следующий код для удаления строк из фрейма данных, которые имеют значения 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

Обратите внимание, что все строки со значением NA хотя бы в одном столбце были удалены.

Связано: Как использовать Complete.cases в R (с примерами)

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:

Как создать пустой фрейм данных в R
Как создать пустой список в R
Как создать пустой вектор в R

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *