Bei der Verwendung von RPostgreSQL
finde ich, dass ich sqldf
nicht auf die gleiche Weise verwenden kann. Zum Beispiel, wenn ich die Bibliothek laden und in Daten in einen Datenrahmen mit dem folgenden Code lesen: df
Mit sqldf und RPostgreSQL zusammen
library(RPostgreSQL)
drv <- dbDriver("PostgreSQL")
con <- dbConnect(drv, host="localhost", user="postgres", password="xxx", dbname="yyy", port="5436")
rs <- dbSendQuery(con, "select * from table");
df<- fetch(rs, n = -1); dbClearResult(rs)
dbDisconnect(con)
ich weiß, hat den Inhalt dieser Tabelle in dem Datenrahmen. Allerdings, wenn ich einen SQL-Befehl sqldf
ausführen wollen würde ich vorher etwas tun, wie folgt aus:
sqldf("SELECT * FROM df WHERE X > 10")
Dies funktioniert nicht mehr, wie ich die Fehlermeldung:
Error in postgresqlNewConnection(drv, ...) :
RS-DBI driver: (could not connect [email protected] on dbname "test"
)
Error in !dbPreExists : invalid argument type
Ich nehme an, dies ist Bedienerfehler meinerseits, aber ich kann nicht herausfinden, welche Argumente an sqldf
zu liefern, so dass es nur auf den Datenrahmen konzentriert und versucht nicht, sich mit etwas anderem zu verbinden.