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