A: как удалить строки, содержащие определенную строку


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

 df[!grepl(' string ', df$column),]

В этом руководстве представлено несколько примеров практического использования этого синтаксиса со следующим фреймом данных в R:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'C'),
                 conference=c('East', 'East', 'East', 'West', 'West', 'East'),
                 dots=c(11, 8, 10, 6, 6, 5))

#view data frame
df

  team conference points
1 A East 11
2 A East 8
3 A East 10
4 B West 6
5 B West 6
6 C East 5

Пример 1. Удаление строк, содержащих определенную строку

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

 df[!grepl(' A ', df$team),]

  team conference points
4 B West 6
5 B West 6
6 C East 5

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

 df[!grepl(' West ', df$conference),]

  team conference points
1 A East 11
2 A East 8
3 A East 10
6 C East 5

Пример 2. Удаление строк, содержащих строку в списке

Следующий код показывает, как удалить все строки из фрейма данных, содержащие «A» или «B» в столбце команды:

 df[!grepl(' A|B ', df$team),]

6 C East 5

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

 #define vector of strings
remove <- c(' A ', ' B ')

#remove rows that contain any string in the vector in the team column
df[!grepl( paste (remove, collapse=' | '), df$team),]

6 C East 5

Обратите внимание, что оба метода приводят к одному и тому же результату.

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

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

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

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