2017-06-03 1 views
0

J'avais une énorme base de données fusionnée provenant de 2 sources. Je suis intéressé à trouver l'erreur de codage de 2 variables catégorielles, mais parce que ces 2 proviennent de sources différentes, elles ne sont pas codées de la même façon.Comment sélectionner la même observation catégorique dans 2 colonnes différentes dans R

Par exemple:

df 

col1 levels: DM,GDM,NO,UNTIME,NOTKNOWN 

col2 levels: type 1 dm, type 2 dm, gdm, hx of gdm,resolve,.. 

clairement qu'ils sont différents. Alors, j'ai essayé de recoder col2 de manière similaire à col1 et je l'ai fait en utilisant mapvalue du package plyr

avec succès lorsque j'ai essayé de sous-ensemble des données par col1==col2 je reçois toujours le niveau d'erreur de valeurs sont différentes note J'ai essayé l'argument as.is=TRUE dans read.csv mais rien ne fonctionne.

+0

Peut-être juste 'niveaux (df COL1 $) <- tolower (niveaux (df COL1 $))' – Sotos

+0

Merci pour votre commentaire –

+0

J'ai eu aucun problème avec cela les catégories finales pour les deux colonnes est DM, GDM, NO, UNTIME, NOTKNOWN –

Répondre

0

Nous pouvons faire

library(dplyr) 
df1 %>% 
    filter(as.character(col1) == toupper(as.character(col2)))