Как удалить строки в r (с примерами)
Вы можете использовать следующий синтаксис для удаления определенных номеров строк в R:
#remove 4th row new_df <- df[-c(4), ] #remove 2nd through 4th row new_df <- df[-c(2:4), ] #remove 1st, 2nd, and 4th row new_df <- df[-c(1, 2, 4), ]
Вы можете использовать следующий синтаксис для удаления строк, которые не соответствуют определенным условиям:
#only keep rows where col1 value is less than 10 and col2 value is less than 6 new_df <- subset(df, col1 < 10 & col2 < 6)
И вы можете использовать следующий синтаксис для удаления строк со значением NA в любом столбце:
#remove rows with NA value in any column new_df <- na. omitted (df)
Следующие примеры показывают, как использовать каждую из этих функций на практике.
Пример 1. Удаление строк по номеру
Следующий код показывает, как удалить строки по определенному номеру строки в R:
#create data frame df <- data. frame (player=c('A', 'B', 'C', 'D', 'E'), pts=c(17, 12, 8, 9, 25), rebs=c(3, 3, 6, 5, 8), blocks=c(1, 1, 2, 4, NA)) #view data frame df player pts rebs blocks 1 to 17 3 1 2 B 12 3 1 3 C 8 6 2 4 D 9 5 4 5 E 25 8 NA #remove 4th row df[-c(4), ] player pts rebs blocks 1 to 17 3 1 2 B 12 3 1 3 C 8 6 2 5 E 25 8 NA #remove 2nd through 4th row df[-c(2:4), ] player pts rebs blocks 1 to 17 3 1 5 E 25 8 NA #remove 1st, 2nd, and 4th row df[-c(1, 2, 4), ] player pts rebs blocks 3 C 8 6 2 5 E 25 8 NA
Пример 2. Удаление строк по условию
Следующий код показывает, как удалить строки, не соответствующие определенному условию:
#create data frame df <- data. frame (player=c('A', 'B', 'C', 'D', 'E'), pts=c(17, 12, 8, 9, 25), rebs=c(3, 3, 6, 5, 8), blocks=c(1, 1, 2, 4, NA)) #view data frame df player pts rebs blocks 1 to 17 3 1 2 B 12 3 1 3 C 8 6 2 4 D 9 5 4 5 E 25 8 NA #only keep rows where pts is less than 10 and rebs is less than 6 subset(df, pts < 10 & rebs < 6) player pts rebs blocks 4 D 9 5 4
Пример 3. Удаление строк со значениями NA
Следующий код показывает, как удалить строки со значением NA в любой строке:
#create data frame df <- data. frame (player=c('A', 'B', 'C', 'D', 'E'), pts=c(17, 12, 8, 9, 25), rebs=c(3, 3, 6, 5, 8), blocks=c(1, 1, 2, 4, NA)) #view data frame df player pts rebs blocks 1 to 17 3 1 2 B 12 3 1 3 C 8 6 2 4 D 9 5 4 5 E 25 8 NA #remove rows with NA value in any row: n / A. omitted (df) player pts rebs blocks 1 to 17 3 1 2 B 12 3 1 3 C 8 6 2 4 D 9 5 4
Дополнительные ресурсы
Как добавить строки во фрейм данных в R
Как удалить повторяющиеся строки в R
Как суммировать определенные строки в R