Ich versuche, einen Zeichenvektor zu durchlaufen, und für jeden Wert eine etwas andere Abfrage auszuführen. Ich möchte dann die Ergebnisse erfassen und lokal als rdata-Datei speichern. Sobald das gespeichert ist, kann ich das R-Objekt löschen.Benannte Objekte dynamisch in einer Schleife benennen
Ich weiß, dass ich dies als eine Anwendung tun sollte/sapply und würde einen Tipp, wie schätzen, das zu tun ...
aber mein Hauptproblem ist, dass, während die rdata Dateien speichern schön mit den Namen Ich hatte gehofft (zB "TABLE1", "TABLE2"), wenn ich sie wieder in R lade, haben sie alle den Objektnamen "thisname", mit einem einzelnen Wert, der dem Namen entspricht, auf den ich gehofft hatte (z "TABELLE 1"). Ich habe versucht, diese Arbeit viel zu lange zu machen.
Wenn jemand einen Vorschlag hat, würde ich es begrüßen!
tables = c('TABLE1','TABLE2')
for (i in 1:length(tables)){
thisname=paste0(tables[i])
data= sqlQuery(oracle.channel, paste("select * from",table_renamer(tables[i]),"WHERE ROWNUM<10;"))
assign(thisname,data)
save(thisname, file=file.path(paste0(tables[i],".RData")))
rm(thisname)
rm(thisdf)
}
Dank für das Schauen. Ich konnte saveRDS() nicht verwenden, weil mein Paket erfordert, dass Daten über data() geladen werden, was mich auf .RData- und rda-Dateien beschränkt. Am Ende fand ich eine Lösung auf Stapelüberlauf, und markierte meine Frage als ein Duplikat. Ich werde meine endgültige Lösung unten posten, falls jemand diesen Beitrag findet. –
gruvn