Strings in r vergelijken (3 voorbeelden)
U kunt de volgende methoden gebruiken om tekenreeksen in R te vergelijken:
Methode 1: Vergelijk twee strings
#case-sensitive comparison string1 == string2 #case-insensitive comparison tolower (string1) == tolower (string2)
Methode 2: Vergelijk twee stringvectoren
#case-sensitive comparison identical(vector1, vector2) #case-insensitive comparison identical( tolower (vector1), tolower (vector2))
Methode 3: Vind overeenkomsten tussen twee stringvectoren
#find which strings in vector1 are also in vector2
vector1[vector1 %in% vector2]
De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken.
Voorbeeld 1: Controleer of twee vectoren hetzelfde zijn
De volgende code laat zien hoe u twee tekenreeksen in R kunt vergelijken om te bepalen of ze gelijk zijn:
#define two strings string1 <- "Mavericks" string2 <- "mavericks" #case-sensitive comparison string1 == string2 [1] FALSE #case-insensitive comparison tolower (string1) == tolower (string2) [1] TRUE
De hoofdlettergevoelige vergelijking retourneert FALSE, omdat de twee tekenreeksen niet precies identiek zijn.
De hoofdletterongevoelige vergelijking retourneert echter TRUE , omdat beide tekenreeksen dezelfde tekens in dezelfde volgorde bevatten, ongeacht het hoofdlettergebruik.
Voorbeeld 2: Vergelijk twee stringvectoren
De volgende code laat zien hoe u de functie identiek() kunt gebruiken om te bepalen of twee tekenreeksvectoren gelijk zijn:
#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
De hoofdlettergevoelige vergelijking retourneert een FALSE- waarde, omdat de twee vectoren niet exact dezelfde tekenreeksen in hetzelfde hoofdlettergebruik bevatten.
De hoofdletterongevoelige vergelijking retourneert echter TRUE , aangezien beide vectoren dezelfde tekenreeksen bevatten, ongeacht het hoofdlettergebruik.
Voorbeeld 3: Overeenkomsten vinden tussen twee stringvectoren
De volgende code laat zien hoe u de operator %in% kunt gebruiken om te bepalen welke tekenreeksen in de ene vector tot een andere vector behoren:
#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”
Uit het resultaat kunnen we zien dat de strings “hey” en “hallo” voorkomen in zowel vector1 als vector2.
Gerelateerd: Hoe de %in% operator in R te gebruiken
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in R kunt uitvoeren:
Hoe twee kolommen in R te vergelijken
Hoe twee vectoren in R te vergelijken
Hoe de tekenlocatie in een string in R te vinden
Hoe vector naar string te converteren in R