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» у стовпці team:
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» у стовпці team:
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