2016-05-20 9 views
6

Gibt es eine Möglichkeit, die Groß-/Kleinschreibung bei Joins mit dplyr zu ignorieren? links, innerlich und voll?Ignorieren der Groß-/Kleinschreibung in dplyr-Joins

Ich sehe es funktioniert mit Auswahl, aber das ist oft ein großer Schmerz für mich. Ich weiß, dass ich die Säulen toupper oder tolower vorher umwandeln kann, aber das wäre eine hilfreiche Arbeit.

+0

Können wir bitte ein Beispiel haben. Hast du das gemeint? https://gist.github.com/jimester/a060323a05b40c6ada34 – Alex

+0

Vielleicht überprüfen Sie das Fuzzyjoin-Paket? Es ist eine Variation von dplyr-Joins und einige der damit verbundenen Funktionen scheinen damit verbunden zu sein. – aosmith

Antwort

0

Ich glaube nicht, dass es eine direkte Möglichkeit gibt, mit tolower oder toupper um die Daten zuerst zu bereinigen. Das heißt, ein Inline-Mutate (innerhalb des Joins) würde die ursprünglichen Daten unberührt lassen, wenn dies bevorzugt wird.

X %>% left_join(Y %>% mutate(id = tolower(id)), by = "id")` 

Es funktioniert, aber wir könnten auch ein ordentlichen Y mit ids erstellt haben X in erster Linie (meiner Meinung nach) entsprechen.

+0

anstatt Unordnung mit mutierenden einzelnen Spalten, würde ich wahrscheinlich etwas tun wie ...%>% setNames (., Tolower (Namen (.)))%>% ... ', um sie alle zu bekommen – Gregor