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

Це говорить нам про те, що 2 рядки у вихідному кадрі даних мали відсутні значення принаймні в одному стовпці.

І ми можемо так само легко підрахувати, скільки рядків не мали пропущених значень у жодному стовпці:

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

[1] 8

Це говорить нам про те, що 8 рядків вихідного кадру даних не мали пропущених значень у жодному стовпці.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в R:

Як знайти і порахувати відсутні значення в R
Як інтерполювати відсутні значення в R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *