Hilfe beim Mergen

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

Moderatoren: EDi, jogo

Antworten
AWDRA
Beiträge: 1
Registriert: Mi Jan 13, 2021 3:13 pm

Hilfe beim Mergen

Beitrag von AWDRA »

Liebes Forum,

Ich bin gerade dabei an meiner Doktorarbeit zu arbeiten und versuche gerade zwei Datasets anhand der Variable "Datum" zu mergen.

Sowohl die Funktionen merge() und merge.data.frame kommen zu keinem vernünftigen Ergebnis. Ich erhalte die Warnmeldung:
"Warnmeldung:
In `[<-.factor`(`*tmp*`, ri, value = c(946684800, 946771200, 946857600, :
ungültiges Faktorniveau, NA erzeugt"

Zu meinen Daten: Ich habe Krankenblätter die ich mithilfe der Funktion table() zu Fallzahlen pro Tag umgewandelt habe. Leider fallen bei dieser Art der Umwandlung alle Daten an denen keine Patienten mit dem entsprenden Fall ins Krankenhaus gekommen sind weg und meine vorher im POSIXct Format vorliegenden Daten werden umgewandelt in factors. In dem Dataframe2 mit dem ich die Tabelle mergen möchte liegen die Daten aber weiterhin als POSIXct Format vor. Ist das der Grund warum ich nicht anhand der Variable "Datum" mergen kann? Wenn Ja wie kann ich meine jetzt als factor vorliegende Variable "Datum" im Dataframe1 wieder in das POSIXct Format umwandeln? Wenn nein wie kann ich die beiden Dataframes vernünftigerweise mergen? Ich habe kein Problem damit wenn es mir NAs erzeugt, diese könnte ich ja schließlich mit der is.na() Funktion zur Zahl 0 umwandeln und hätte genau was ich bräuchte.

Vielen lieben Dank schon einmal für die Antworten.
Ich bin über jede Hilfe sehr dankbar.
Athomas
Beiträge: 769
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Hilfe beim Mergen

Beitrag von Athomas »

Ein Datensatz sagt mehr als tausend Worte - oder hier vielleicht mal zwei!
Du bist mit Sicherheit auf der richtigen Spur, es ist halt nur die Frage, wann was schief gelaufen ist!
T3stversion
Beiträge: 6
Registriert: So Jan 03, 2021 8:36 pm

Re: Hilfe beim Mergen

Beitrag von T3stversion »

Ins Blaue, da ohne Beispieldaten schwierig:

Code: Alles auswählen

dat1[,x]<-strptime(as.character(dat1[,x]),format="%d.%m.%Y") #x ist die Spalte mit der Zeit, das Format muss eventuell angepasst werden

names(dat1)[x]<-names(dat2)[x]<-"zeit" #x ist wieder die Spalte mit der Zeit, beide brauche den gleichen Namen

library(plyr) # für die nachfolgende "join"-Funktion

dat3<-join(dat1,dat2,by="zeit") #Datensätze mergen(joinen), eventuell die Attribute "type" und "match" verwenden 

klappt das?
Antworten