Как выполнить удаление по списку в 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