C: karakterin bir dizede olup olmadığı nasıl kontrol edilir?
Bir karakterin R’de bir dizede olup olmadığını kontrol etmek için aşağıdaki yöntemleri kullanabilirsiniz:
Yöntem 1: Base R’yi kullanarak karakterin bir dizede olup olmadığını kontrol edin
grepl(my_character, my_string, fixed= TRUE )
Yöntem 2: Stringr paketini kullanarak karakterin dizede olup olmadığını kontrol edin
library (stringr)
str_detect(my_string, my_character)
Aşağıdaki örnekler her yöntemin pratikte nasıl kullanılacağını göstermektedir.
Örnek 1: Base R’yi kullanarak karakterin bir dizede olup olmadığını kontrol edin
Aşağıdaki kod, R’deki belirli bir dizede “Doug”ın bulunup bulunmadığının nasıl kontrol edileceğini gösterir:
#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
Dizede “Doug” mevcut olduğundan, grepl() işlevi TRU E değerini döndürür.
Bunun yerine dizede “Steve”in var olup olmadığını kontrol ettiğimizi varsayalım:
#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
Dizede “Steve” bulunmadığından, grepl() işlevi FALSE değerini döndürür.
Örnek 2: stringr paketini kullanarak karakterin bir dizede olup olmadığını kontrol edin
Aşağıdaki kod, “Doug” dizesinin belirli bir dizede mevcut olup olmadığını kontrol etmek için stringr paketinin str_detect() işlevinin nasıl kullanılacağını gösterir:
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
Dizede “Doug” olduğundan str_detect() işlevi TRUE değerini döndürür.
Dizede birden fazla karakterin olup olmadığını kontrol etmek için aşağıdaki sözdizimini de kullanabileceğimizi unutmayın:
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
Sonuçtan şunu görebiliriz:
- Zincirde “Doug” var.
- Kanalda “Steve” mevcut değil.
- Dizede “isim” mevcut.
- Dizede “O” var.
İlgili: R’de str_detect() Fonksiyonu Nasıl Kullanılır (3 Örnek)
Ek kaynaklar
Aşağıdaki eğitimlerde R’de diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
R’deki dizeden son karakter nasıl kaldırılır
R’de bir dizedeki karakter konumu nasıl bulunur?
R’de belirli bir dize içeren sütunlar nasıl seçilir