Как выполнить удаление по списку в r (с примером)


Удаление по спискам — это метод, который удаляет все строки во фрейме данных, в столбце которых отсутствует значение.

Самый простой способ выполнить удаление по списку в R — использовать следующий синтаксис:

 complete_df <- df[complete. boxes (df), ]

Этот синтаксис использует функцию Complete.cases() для создания нового фрейма данных, который содержит только те строки из исходного фрейма данных, в которых нет пропущенных значений ни в одном столбце.

В следующем примере показано, как использовать эту функцию на практике.

Пример: выполнить удаление по списку в R.

Предположим, у нас есть следующий кадр данных в R, содержащий информацию о различных баскетболистах:

 #create data frame
df <- data. frame (rating=c(70, 75, 75, 78, 81, 85, 89, 91, 94, 97),
                 points=c(12, 15, 14, 13, NA, 29, 24, 18, 20, 25),
                 assists=c(9, 5, NA, 5, 7, 8, 11, 12, 13, 11))

#view data frame
df

   rating points assists
1 70 12 9
2 75 15 5
3 75 14 NA
4 78 13 5
5 81 NA 7
6 85 29 8
7 89 24 11
8 91 18 12
9 94 20 13
10 97 25 11

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

Мы можем использовать следующий синтаксис, чтобы выполнить удаление по списку и сохранить только те строки, в которых нет пропущенных значений ни в одном столбце:

 #create new data frame that only contains rows with no missing values
complete_df <- df[complete. boxes (df), ]

#view new data frame
complete_df

   rating points assists
1 70 12 9
2 75 15 5
4 78 13 5
6 85 29 8
7 89 24 11
8 91 18 12
9 94 20 13
10 97 25 11

Обратите внимание, что ни одна из строк в этом новом фрейме данных не имеет пустых значений ни в одном столбце.

Также обратите внимание, что мы могли бы использовать функцию nrow() , чтобы определить, сколько строк в исходном фрейме данных имели пропущенные значения в любом столбце:

 #count how many rows have missing values in any column
nrow(df[ ! complete. cases (df), ])

[1] 2

Это говорит нам о том, что в двух строках исходного фрейма данных были пропущенные значения хотя бы в одном столбце.

И мы можем так же легко подсчитать, сколько строк не имело пропущенных значений ни в одном столбце:

 #count how many rows do not have missing values in any column
nrow(df[complete. cases (df), ])

[1] 8

Это говорит нам о том, что в 8 строках исходного фрейма данных не было пропущенных значений ни в одном столбце.

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

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

Как найти и посчитать пропущенные значения в R
Как интерполировать недостающие значения в R

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

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