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

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

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