L'appariement de deux Colonnes dans la R

J'ai un gros dataset df (354903 lignes) avec deux colonnes nommées df$ColumnName et df$ColumnName.1

head(df)
       CompleteName       CompleteName.1
1   Lefebvre Arnaud Lefebvre Schuhl Anne
1.1 Lefebvre Arnaud              Abe Lyu
1.2 Lefebvre Arnaud              Abe Lyu
1.3 Lefebvre Arnaud       Louvet Nicolas
1.4 Lefebvre Arnaud   Muller Jean Michel
1.5 Lefebvre Arnaud  De Dinechin Florent

Je suis en train de créer des étiquettes pour voir le temps le nom est le même ou pas.
Lorsque je tente un petit sous-ensemble il fonctionne [1 si elles sont les mêmes, 0 si non]:

> match(df$CompleteName[1], df$CompleteName.1[1], nomatch = 0)
[1] 0
> match(df$CompleteName[1:10], df$CompleteName.1[1:10], nomatch = 0)
[1] 0 0 0 0 0 0 0 0 0 0

Mais dès que je lance la remplir les colonnes, il me donne complète des valeurs différentes, qui semblent non-sens pour moi:

> match(df$CompleteName, df$CompleteName.1, nomatch = 0)
[1] 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101
[23] 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101
[45] 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101

Dois-je utiliser sapply? Je n'ai pas compris, j'ai essayé cela avec une erreur:

 sapply(df, function(x) match(x$CompleteName, x$CompleteName.1, nomatch = 0))

S'il vous plaît aider!!!

  • vous ne voulez probablement pas de match - il donne la correspondance des valeurs de la deuxième colonne, pas de savoir s'ils sont égaux. Si vous avez des chaînes, vous pourriez probable suffit d'utiliser as.numeric(df$CompleteName == df$CompleteName.1)
  • aussi, l'utilisation stringsAsFactors = FALSE dans la construction de vos données.cadre
  • comme d'autres l'ont souligné, match ne marchera pas ici. mon commentaire était destiné à ajouter à @jeremycg 's
  • Il n'existe aucune preuve de ces être facteur de colonnes, de toute façon, est-il?
  • Non, il ne fonctionne pas si il y a d'autres niveaux. Voir ma réponse et essayer de l'exécuter sans stringsAsFactors = FALSE
  • > default.stringsAsFactors() [1] TRUE
  • Ce n'est pas ce que je voulais dire. Je veux dire que nous n'avons aucune idée si cette OP a facteur de colonnes ou pas. Il n'y a aucune preuve dans la question qui nous dit qu'ils sont le facteur ou le caractère. Ce n'est pas une grosse affaire si. C'est une des raisons pourquoi dput() est préféré lors de la publication des données en question.
  • Oui! Saul pour les questions d'avenir, essayez de suivre ces lignes directrices, qui rendent plus facile de répondre à stackoverflow.com/a/5963610/4598520 Vous pouvez également modifier votre question pour être reproductibles

InformationsquelleAutor Saul Garcia | 2016-04-01