A: як використовувати grepl з кількома моделями


Ви можете використовувати наступний базовий синтаксис із функцією grepl() у R, щоб фільтрувати рядки у кадрі даних, що містить один із кількох шаблонів рядків у певному стовпці:

 library (dplyr)

new_df <- filter(df, grepl(paste(my_patterns, collapse=' | '), my_column))

Цей конкретний синтаксис фільтрує кадр даних для рядків, де значення стовпця під назвою my_column містить один із шаблонів рядків у векторі під назвою my_patterns .

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: як використовувати grepl() з кількома моделями в R

Припустимо, що ми маємо наступний кадр даних у R, який містить інформацію про різні баскетбольні команди:

 #create data frame
df <- data. frame (team=c('Mavs', 'Hawks', 'Nets', 'Heat', 'Cavs'),
                 points=c(104, 115, 124, 120, 112),
                 status=c('Bad', 'Good', 'Excellent', 'Great', 'Bad'))

#view data frame
df

   team points status
1 Mavs 104 Bad
2 Hawks 115 Good
3 Nets 124 Excellent
4 Heat 120 Great
5 Cavs 112 Bad

Припустімо, ми хочемо відфільтрувати фрейм даних, щоб він містив лише рядки, у яких рядок стовпця стану містить один із таких шаблонів рядків:

  • “ДОБРЕ”
  • “Сірий”
  • “колишній”

Для цього ми можемо використати такий синтаксис із функцією grepl() :

 library (dplyr)

#define patterns to search for
my_patterns <- c(' Good ', ' Gre ', ' Ex ')

#filter for rows where status column contains one of several strings
new_df <- filter(df, grepl(paste(my_patterns, collapse=' | '), status))

#view results
new_df

   team points status
1 Hawks 115 Good
2 Nets 124 Excellent
3 Heat 120 Great

Зауважте, що фрейм даних було відфільтровано, щоб містити лише рядки, у яких рядок у стовпці стану містить один із трьох указаних шаблонів.

Зауважте, що використання функції Paste() з аргументом Collapses=’|’ насправді ми шукали рядок «Good|Gre|Ex» у стовпці статусу .

Оскільки | Символ у R означає “АБО”, ми змогли знайти рядки, що містять “Добре”, “Відмінно” або “Виключено” у стовпці статусу .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в R:

Як змінити змінну, якщо стовпець містить рядок за допомогою dplyr
Як видалити перший символ із рядків за допомогою dplyr
Як замінити рядок у стовпці за допомогою dplyr

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

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