При использовании RPostgreSQL
я обнаружил, что я не могу использовать sqldf
таким же образом. Например, если я загрузить библиотеку и читать данные в кадр данных, используя следующий код:Использование sqldf и RPostgreSQL вместе
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)
Я знаю, что есть содержимое этой таблицы в dataframe df
. Однако, если я хочу, чтобы выполнить команду SQL с помощью sqldf
я бы ранее сделать что-то вроде этого:
sqldf("SELECT * FROM df WHERE X > 10")
Это больше не работает, как я получаю сообщение об ошибке:
Error in postgresqlNewConnection(drv, ...) :
RS-DBI driver: (could not connect [email protected] on dbname "test"
)
Error in !dbPreExists : invalid argument type
Я полагаю, что это ошибка оператора с моей стороны, но я не могу понять, какие аргументы поставлять в sqldf
, так что он просто фокусируется на кадре данных и не пытается подключиться ни к чему другому.