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