R: Wie finde ich die Schnittmenge der Elemente aus zwei Zeilen des dataframe?
Ich bin gerade erst angefangen mit R, und ich Frage mich, wie finde ich den Schnittpunkt der Elemente von zwei Zeilen des dataframe. Ich habe versucht,
intersect(thing[1,],thing[2,])
aber es gab mir ein völliger Unsinn Antwort (etwas, das definitiv nicht in die Kreuzung, während wir die Sache, die war in der Kreuzung).
Wie gehe ich dieses problem?
Können Sie uns die Daten festlegen, damit wir den Fehler reproduzieren können oder noch besser eine minimal-Spinett von Daten, die den Fehler reproduziert?
Ein Beispiel
Das klingt ähnlich meinem problem, aber ich benutze eine Liste von Listen, und ich würde erhalten eine angrenzende matrix (eine matrix mit Längen aller möglichen Schnittpunkt sets). In meiner Jagd, von der Kreuzung mit selbst produzieren Längen gleich 1, die anderen gleich 0...
sorry Leute... ich machte ich große Fehler.... in meinem Fall arbeite ich mit einer Liste von Vektoren, um es zu beheben ich bin mit jetzt
Ein Beispiel
thing <- matrix(c(1:10,5:14),2,byrow=TRUE);intersect(thing[1,],thing[2,])
funktioniert gut, was ist also deine Daten und was erwarten Sie?Das klingt ähnlich meinem problem, aber ich benutze eine Liste von Listen, und ich würde erhalten eine angrenzende matrix (eine matrix mit Längen aller möglichen Schnittpunkt sets). In meiner Jagd, von der Kreuzung mit selbst produzieren Längen gleich 1, die anderen gleich 0...
sorry Leute... ich machte ich große Fehler.... in meinem Fall arbeite ich mit einer Liste von Vektoren, um es zu beheben ich bin mit jetzt
[[i]]
statt [i]
zu erreichen, der Vektor... XDInformationsquelleAutor MassWeaselsOfDestruction | 2012-03-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn die Spalten sind alle von der gleichen Art (z.B. alle zahlen), konvertieren Sie zuerst in eine matrix über als.matrix, dann bewerben Sie sich überschneiden. Zum Beispiel, wenn die Daten-frame aufgerufen wird z:
Wenn die Spalten haben verschiedene Arten von Variablen, kann es notwendig sein, zunächst identifizieren Sie die Spalten, die tatsächlich vergleichbar sind, da Sie würde nicht wollen, zu vergleichen, eine level-variable auf eine ganze Zahl. Zum Beispiel:
Während "1" zurückgegeben werden, hier die "1" haben eine völlig unterschiedliche Bedeutung für eine Höhe variabel und für eine numerische variable ist, so sollten wir uns nicht vergleichen wollen, numerische Variablen und level-Variablen, zumindest nicht ohne sorgfältige Aufsicht.
Kann es sein, eine glatte Lösung für das Szenario, wo die Daten-frame hat verschiedene Arten, aber nichts kommt in den Sinn...
InformationsquelleAutor David Diez