Sehr schwierig, hier ein funktionierendes Beispiel zu liefern, also versuche ich, das Problem zu erklären.R RODBC sqlSave - Übereinstimmung nach Spaltennamen
Ich habe eine Tabelle in einer Datenbank tableDb
mit Spalten A
, B
, C
.
Ich habe einen Datenrahmen in einem R df
mit Spalten A
, C
, B
.
Jetzt bin ich mit
sqlSave(channelToDb, dat = df, tablename = "tableDb", append = TRUE,
rownames = FALSE, fast = FALSE)
die Daten von df
in tableDb
zu speichern.
Das Problem ist, dass die Daten aus der Spalte von B
df
in Spalte C
von tableDb
gespeichert sind, und von C
df
wird in Spalte B
gespeichert.
So sqlSave
stimmt nicht die beiden Tabellen nach Spaltenname, sondern nur nach Index?
Gibt es eine Möglichkeit, nach Spaltennamen zu suchen?
Ja, natürlich wäre das eine Option und ich mache es gerade so. Aber mein realer Welttisch hat noch mehrere Spalten und ich dachte, es gibt einen besseren Weg dazu. – schluk5
Sie könnten selbst eine Funktion schreiben, die die Feldnamen aus der Datenbank liest und sie als Liste in einen temporären Rahmen einfügt und dann den Ausgang speichert. Sie müssten nur den Datenbanknamen, den Datenrahmen und einen Dateinamen angeben und alles für Sie erledigen. – sconfluentus