Khi sử dụng RPostgreSQL
Tôi thấy rằng tôi không thể sử dụng sqldf
theo cách tương tự. Ví dụ nếu tôi tải thư viện và đọc dữ liệu vào một khung dữ liệu bằng cách sử dụng đoạn mã sau:Sử dụng sqldf và RPostgreSQL cùng nhau
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)
Tôi biết có các nội dung của bảng này trong dataframe df
. Tuy nhiên nếu tôi muốn chạy một lệnh SQL sử dụng sqldf
tôi trước đây sẽ làm một cái gì đó như thế này:
sqldf("SELECT * FROM df WHERE X > 10")
này không còn hoạt động khi tôi nhận được thông báo lỗi:
Error in postgresqlNewConnection(drv, ...) :
RS-DBI driver: (could not connect [email protected] on dbname "test"
)
Error in !dbPreExists : invalid argument type
Tôi giả định này là lỗi điều hành về phía tôi, nhưng tôi không thể tìm ra cách đối số cung cấp cho sqldf
để nó chỉ tập trung vào khung dữ liệu và không cố gắng kết nối với bất kỳ thứ gì khác.