Vergleich von Spalten aus zwei Dataframes

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Vergleich von Spalten aus zwei Dataframes

Beitrag von jogo »

Hallo Simon,
Leuchte03 hat geschrieben: Fr Okt 09, 2020 11:45 am super erkannt dem Abgleich von unique IDs. Nur leider bin ich an dieser Stelle etwas mit meinen derzeitigen R-Kenntnissen überfragt. z.B. warum der Vector letztlich NULL ausgibt, siehe Consolen-Output unten.
jogo hat geschrieben: Di Okt 06, 2020 2:21 pm Abgleich von unique(UFLID) mit unique(Objschl)

Code: Alles auswählen

> head(lU, 3)
NULL
> head(lObj, 3)
NULL
bei mir sieht das so aus:

Code: Alles auswählen

library("xlsx")

setwd("~/Desktop/R.Zeug/Leuchte")
GISDaten <- read.xlsx2("Vergleich.xlsx", 1, header=TRUE)

lU <- levels(GISDaten$UFL_ID)
lObj <- levels(GISDaten$Objektschluessel)

head(lU, 3)
head(lObj, 3)
mit dem Ergebnis

Code: Alles auswählen

> head(lU, 3)
[1] ""                      "070090103102013001a01" "070090103102013001a02"
> head(lObj, 3)
[1] ""                      "070090103102013001A00" "070090103102013001a01"
... kurz: ich kann Dein Ergebnis nicht reproduzieren.

Ich stelle mir vor, dass diese unique IDs in zwei Spalten verglichen werden und am Ende ein Output herauskommt ähnlich merge(). Nach dem Motto links enhalten, rechts nicht enthalten und rechts enthalten, links nicht enthalten.
also sowas wie:

Code: Alles auswählen

list(gesamt=union(lU, lObj), gemeinsam=intersect(lU, lObj),
lU_nicht.in.lObj=setdiff(lU, lObj), lObj_nich.in.lU=setdiff(lObj, lU))
Da die Anzahl der Elemente jeweils verschieden sein kann, ist eine tabellarische Darstellung nicht auf natürliche Weise gegeben.

Gruß,Jörg
Antworten