A: як перевірити, чи є символ у рядку
Ви можете використовувати такі методи, щоб перевірити, чи є символ у рядку в R:
Спосіб 1. Перевірте, чи є символ у рядку за допомогою Base R
grepl(my_character, my_string, fixed= TRUE )
Спосіб 2. Перевірте, чи є символ у рядку за допомогою пакета stringr
library (stringr)
str_detect(my_string, my_character)
Наступні приклади показують, як використовувати кожен метод на практиці.
Приклад 1: Перевірте, чи є символ у рядку за допомогою Base R
Наступний код показує, як перевірити, чи існує “Doug” у певному рядку в R:
#define character to look for
my_character <- "Doug"
#define string
my_string <- "Hey my name is Douglas"
#check if "Doug" is in string
grepl(my_character, my_string, fixed= TRUE )
[1] TRUE
Оскільки «Doug» існує в рядку, функція grepl() повертає TRU E .
Припустімо, замість цього ми перевіримо, чи існує «Steve» у рядку:
#define character to look for
my_character <- "Steve"
#define string
my_string <- "Hey my name is Douglas"
#check if "Steve" is in string
grepl(my_character, my_string, fixed= TRUE )
[1] FALSE
Оскільки “Steve” не існує в рядку, функція grepl() повертає FALSE .
Приклад 2: Перевірте, чи є символ у рядку за допомогою пакета stringr
Наступний код показує, як використовувати функцію str_detect() пакета stringr , щоб перевірити, чи існує рядок “Doug” у певному рядку:
library (stringr)
#define character to look for
my_character <- "Doug"
#define string
my_string <- "Hey my name is Douglas"
#check if "Doug" is in string
str_detect(my_string, my_character)
[1] TRUE
Функція str_detect() повертає TRUE , оскільки в рядку є “Doug”.
Зауважте, що ми також можемо використовувати наступний синтаксис, щоб перевірити наявність у рядку кількох символів:
library (stringr)
#define vector of characters to look for
my_characters <- c("Doug", "Steve", "name", "He")
#define string
my_string <- "Hey my name is Douglas"
#check if each character is in string
str_detect(my_string, my_characters)
[1] TRUE FALSE TRUE TRUE
З результату ми бачимо:
- «Дуг» існує в ланцюжку.
- “Steve” не існує в каналі.
- «name» існує в рядку.
- «Це» існує в рядку.
Пов’язане: Як використовувати функцію str_detect() у R (3 приклади)
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в R:
Як видалити останній символ із рядка в R
Як знайти розташування символу в рядку в R
Як вибрати стовпці, що містять певний рядок у R