Як видалити рядки з нулями в r (з прикладом)
Ви можете використовувати будь-який із наведених нижче методів, щоб видалити рядки, що містять нулі, у кадрі даних у R:
Спосіб 1: Видалення рядків, що містять нулі, за допомогою основи R
df_new <- df[apply(df!= 0 , 1 , all),]
Спосіб 2: Видалення рядків, що містять нулі, за допомогою dplyr
library (dplyr) df_new <- filter_if(df, is.numeric , all_vars((.) != 0 ))
У наведених нижче прикладах показано, як використовувати кожен метод на практиці з таким кадром даних:
#create data frame df <- data. frame (points=c(5, 7, 8, 0, 12, 14, 0, 10, 8), assists=c(0, 2, 2, 4, 4, 3, 7, 6, 10), rebounds=c(8, 8, 7, 3, 6, 5, 0, 12, 11)) #view data frame df points assists rebounds 1 5 0 8 2 7 2 8 3 8 2 7 4 0 4 3 5 12 4 6 6 14 3 5 7 0 7 0 8 10 6 12 9 8 10 11
Приклад 1: Видалення рядків, що містять нулі, за допомогою основи R
Наступний код показує, як видалити рядки, що містять нулі, за допомогою функції R base apply() :
#create new data frame that removes rows with any zeros from original data frame df_new <- df[apply(df!= 0 , 1 , all),] #view new data frame df_new points assists rebounds 2 7 2 8 3 8 2 7 5 12 4 6 6 14 3 5 8 10 6 12 9 8 10 11
Зверніть увагу, що три рядки, що містять нульові значення, були видалені.
Приклад 2: видаліть рядки, що містять нулі, за допомогою dplyr
Наступний код показує, як видалити рядки, що містять нулі, за допомогою функції filter_if() із пакета dplyr у R:
#create new data frame that removes rows with any zeros from original data frame df_new <- filter_if(df, is.numeric , all_vars((.) != 0 )) #view new data frame df_new points assists rebounds 1 7 2 8 2 8 2 7 3 12 4 6 4 14 3 5 5 10 6 12 6 8 10 11
Зверніть увагу, що три рядки, що містять нульові значення, були видалені.
Це відповідає результату, який ми отримали за допомогою бази R.
Примітка : ми використали функцію is.numeric , щоб вказати, що всі числові змінні у кадрі даних мають бути ненульовими.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в R:
Як видалити порожні рядки з кадру даних у R
Як видалити стовпці зі значеннями NA в R
Як видалити повторювані рядки в R