2016-04-13 4 views
2

Ich frage mich, ob einer von Ihnen eine Funktion kennt, die Ihnen sagt, warum die zwei Objekte nicht übereinstimmen.R-Funktion, um zu prüfen, was falsch ist, wenn zwei Faktorvariablen nicht das gleiche Niveau haben

In der Tat möchte ich zwei Variablen vergleichen, die sich mit der gleichen Art von Variablen (Gemeinden) befassen, leider hat einer von ihnen mehr Ebenen als der andere. Daher würde ich gerne wissen, welche Gemeinden enthalten ist, ist nur einer von ihnen (wie ich mehr als 900 haben, würde ich es vorziehen, nicht auf sie eins nach dem anderen suchen)

Hier ist mein Code:

depext <- ifelse(EMQmetro$MUNI==EMQmetro$V08C_1, "same","diff") 

*Error in Ops.factor(EMQmetro$MUNI, EMQmetro$V08C_1) : 
    les niveaux des facteurs diffèrent* 

identical(EMQmetro$MUNI, EMQmetro$V08C_1, num.eq = TRUE, single.NA = TRUE, attrib.as.set = TRUE, 
      ignore.bytecode = TRUE, ignore.environment = FALSE) 

Ausgang:

*[1] FALSE* 

Vielen Dank im Voraus für Ihre Zukunft Hilfe

Antwort

0

Die Säulen factor Klasse. Für == zu arbeiten, sollte es

ifelse(as.character(EMQmetro$MUNI)==as.character(EMQmetro$V08C_1), "same","diff") 

Die identical-character Klasse umgewandelt werden würde FALSE, wenn wir zumindest einen Unterschied in einer Ebene haben. Manchmal sind in einer Spalte ungenutzte Ebenen vorhanden, die das Problem verursachen.

Verwandte Themen