Ich habe zwei Saiten, die die gleiche Länge haben. Ich möchte die Strings elementweise vergleichen und für jeden Index ein TRUE oder FALSE zurückgeben. Zum Beispiel:Wie vergleicht man Zeichen aus zwei Strings an jedem Index?
string1 <- "abcd1234"
string2 <- "abcd1434"
result <- [T,T,T,T,T,F,T,T]
Bisher habe ich die Saiten, und ich habe Charakter Vektoren erstellt von ihnen Entadressierung aber ich habe nicht in der Lage gewesen, eine der String-Funktionen in R zu erhalten, so weit zu arbeiten. Ich weiß, ich könnte eine for-Schleife verwenden und eine einfache tun ==, aber ich fragte mich, ob es eine Art vektorisierten Weg, dies zu tun.
str1 <- unlist(str_split(string1, ""))
str2 <- unlist(str_split(string2, ""))
Es gibt auch Fälle, in denen eine der Saiten _ anzeigt wird, dass dieser Charakter ist im Wesentlichen eine Wildcard und es funktioniert nicht auf Gleichheit geprüft werden müssen. Deshalb habe ich versucht, eines der Regex-Dinge in R zu bekommen, damit ich das _ durch einen Platzhalter ersetzen konnte.
string1 <- "abcd_234"
string2 <- "abcd1224"
result <- [T,T,T,T,T,T,F,T]
Versuchen Sie dies: 'str1 == str2'. == überprüft alle Elemente entlang jedes Vektors nchars (string1) == nchars (string2) – Dave2e
Wow, ich fühle mich dumm. Das funktioniert. Ich habe meine Frage mit einem kleinen Eckfall bearbeitet. – mikew