Seite 2 von 2

Re: Funktion zum Datenimport

Verfasst: So Sep 08, 2019 11:40 am
von Athomas
So, dann habe ich mir doch mal Deine "Problembeschreibung" durchgelesen - die passt tatsächlich nicht zu meinem Lösungsvorschlag :lol: !
rbindlist hängt datatables mit "verwandter" Struktur hintereinander, Du willst ja offenbar eine bestehende Datei "horizontal" um neue Inhalte erweitern...

Gibt es eigentlich eine Variable(ngruppe), die die in den Dateien beschriebenen Objekte eindeutig identifiziert und in allen Dateien vorhanden ist - was in meinen Augen "normal" wäre?

Re: Funktion zum Datenimport

Verfasst: So Sep 08, 2019 4:46 pm
von bigben

Code: Alles auswählen

if (!(Masterlist[i] %in% names(DF))) paste0("DF$",Masterlist[i]) <- "NA" 
If vermute sowas wie

Code: Alles auswählen

if (!(Masterlist[i] %in% names(DF))) DF$[[Masterlist[i]]] <- "NA" 
Hab es aber nicht selbst ausprobiert.

LG,
Bernhard

Re: Funktion zum Datenimport

Verfasst: Mo Sep 09, 2019 8:35 am
von jogo
Hallo Jörg,

ja, das war ein Schreibfehler von mir. Dieser Fehler ist vor allem dadurch bedingt, dass es bei Der Frage keine Beispieldaten gab, mit denen man den Code hätte ausprobieren könne. Bei vorhandenen Beispieldaten wäre einem der Syntaxfehler sofort aufgefallen.
Jörg hat geschrieben: Sa Sep 07, 2019 6:36 pm Bei mit funktioniert diese Zeile nicht

Code: Alles auswählen

if (!("Var3" in names(DF))) DF$Var3 <- "NA"
aber das geht:

Code: Alles auswählen

if (!("Var3" %in% names(DF))) DF$Var3 <- "NA"
Und so passt das dann alles, vielen Dank!

Wegen "nr": Da die Daten aus unterschiedlichen Quellen kommen, wollte ich zwei Arten von fehlenden Werten unterscheiden. "nr" wenn eine Variable im Quelldatensatz gar nicht erhoben wurde und NA dann, wenn sie grundsätzlich erhoben wurde, aber in einzelnen Fällen fehlt. Aber Bernhard hat natürlich recht, das wäre ein Problem mit numerischen Variablen. Da R ja nur NA für fehlende Werte kennt, muss ich das wohl über eine zusätzliche Variable lösen.
... meine Nachricht habe ich entsprechend geändert.

Gruß, Jörg

Re: Funktion zum Datenimport

Verfasst: Di Sep 10, 2019 11:24 am
von Jörg
Hallo Bernhard,

mit einer kleinen Abwandlung funktioniert der Code so

Code: Alles auswählen

if (!(Masterlist[i] %in% names(DF))) DF[[Masterlist[i]]] <- "NA" 
Das $-Zeichen war da noch zuviel. Ich nehme mir Jörg's Hinweis für das nächste Mal zu Herzen.

lg jörg

Re: Funktion zum Datenimport

Verfasst: Di Sep 10, 2019 11:48 am
von Athomas
Gibt es eigentlich eine Variable(ngruppe), die die in den Dateien beschriebenen Objekte eindeutig identifiziert und in allen Dateien vorhanden ist - was in meinen Augen "normal" wäre?
Bekomme ich noch eine Antwort auf meine Frage :( ?

Re: Funktion zum Datenimport

Verfasst: So Sep 15, 2019 1:19 pm
von Jörg
Sorry für die späte Antwort, ja diese Variablengruppe gibt es.