Jak porównać ciągi w r (3 przykłady)


Do porównywania ciągów w języku R można użyć następujących metod:

Metoda 1: Porównaj dwa ciągi

 #case-sensitive comparison
string1 == string2

#case-insensitive comparison
tolower (string1) == tolower (string2)

Metoda 2: Porównaj dwa wektory ciągów

 #case-sensitive comparison
identical(vector1, vector2)

#case-insensitive comparison
identical( tolower (vector1), tolower (vector2))

Metoda 3: Znajdź podobieństwa między dwoma wektorami ciągów

 #find which strings in vector1 are also in vector2
vector1[vector1 %in% vector2]  

Poniższe przykłady pokazują, jak zastosować każdą metodę w praktyce.

Przykład 1: Sprawdź, czy dwa wektory są takie same

Poniższy kod pokazuje, jak porównać dwa ciągi w języku R, aby określić, czy są równe:

 #define two strings
string1 <- "Mavericks"
string2 <- "mavericks"

#case-sensitive comparison
string1 == string2

[1] FALSE

#case-insensitive comparison
tolower (string1) == tolower (string2)

[1] TRUE

Porównanie uwzględniające wielkość liter zwraca FALSE , ponieważ te dwa ciągi nie są dokładnie identyczne.

Jednak porównanie nieuwzględniające wielkości liter zwraca wartość PRAWDA , ponieważ oba ciągi zawierają te same znaki w tej samej kolejności, niezależnie od wielkości liter.

Przykład 2: Porównaj dwa wektory ciągów

Poniższy kod pokazuje, jak używać funkcji identyczne() do określenia, czy dwa wektory łańcuchowe są równe:

 #define two vectors of strings
vector1 <- c("hey", "hello", "HI")
vector2 <- c("hey", "hello", "hi")

#case-sensitive comparison
identical(vector1, vector2)

[1] FALSE

#case-insensitive comparison
identical( tolower (vector1), tolower (vector2))

[1] TRUE

Porównanie uwzględniające wielkość liter zwraca wartość FAŁSZ , ponieważ oba wektory nie zawierają dokładnie tych samych ciągów znaków w tej samej wielkości liter.

Jednak porównanie nieuwzględniające wielkości liter zwraca wartość PRAWDA , ponieważ oba wektory zawierają te same ciągi znaków, niezależnie od wielkości liter.

Przykład 3: Znajdowanie podobieństw między dwoma wektorami strunowymi

Poniższy kod pokazuje, jak używać operatora %in% do sprawdzania, które ciągi znaków w jednym wektorze należą do innego wektora:

 #define two vectors of strings
vector1 <- c("hey", "hello", "greetings")
vector2 <- c("hey", "hello", "hi")

#find which strings in vector1 are also in vector2
vector1[vector1 %in% vector2]

[1] “hey” “hello”

Z wyniku widzimy, że ciągi „hej” i „cześć” istnieją zarówno w wektorze1, jak i wektorze2.

Powiązane: Jak używać operatora %in% w R

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje w języku R:

Jak porównać dwie kolumny w R
Jak porównać dwa wektory w R
Jak znaleźć lokalizację znaku w ciągu w R
Jak przekonwertować wektor na ciąg w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *