2016-05-20 11 views
6

C'è un modo per ignorare la sensibilità del case quando si effettuano i join usando dplyr? a sinistra, interiore e pieno?Ignorare la sensibilità del case in dplyr join

Vedo che funziona con select ma questo spesso è un grande dolore per me. So che posso convertire le colonne toupper o tolower in anticipo, ma sarebbe un valido aiuto.

+0

Possiamo avere un esempio per favore. È questo che intendevi? https://gist.github.com/jimhester/a060323a05b40c6ada34 – Alex

+0

Forse controlli il pacchetto fuzzyjoin? È una variante dei join di dplyr e alcune delle funzioni sembrano essere correlate a questo. – aosmith

risposta

0

Non penso che ci sia un modo semplice per muoversi usando tolower o toupper per mettere in ordine i dati per primi. Detto questo, un mutante in linea (all'interno del join) lascerebbe intatti i dati originali se questo è preferito.

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

Funziona, ma potrebbe anche aver creato un ordine Y con gli ID per abbinare X, in primo luogo (a mio parere).

+0

piuttosto che fare casino con le singole colonne mutanti, probabilmente farei qualcosa come '...%>% setNames (., Tolower (names (.)))%>% ...' per averli tutti – Gregor

Problemi correlati