我已使用postgresql成功连接到RStudio中的postgres数据库,并提取了必要的数据。没问题。 问题是,现在我在RStudio中拥有数据集,我希望能够使用sqldf将其作为数据帧进行查询。这就是问题所在。
我已经尝试了以下代码
tab1 <- DBI::dbGetQuery(con, "SELECT a.user_id
,a.some_id1
,a.some_id2
,a.some_var1
,a.some_var2
,a.some_var3
,a.some_var4
,a.some_var5
,b.some_var6 FROM sessions a LEFT JOIN session_experiments b on a.some_id1 = b.some_id2
AND a.some_var1 = b.some_var1")
同样,这将返回我想在RStudio中看到的数据。 然后我尝试类似...
tab2 <- sqldf("SELECT COUNT (DISTINCT some_id1) FROM tab1")
...我看到以下错误。
Error in postgresqlNewConnection(drv, ...) :
RS-DBI driver: (could not connect postgres@localhost:5432 on dbname "test": could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
)
Error in !dbPreExists : invalid argument type
承认postgresql不是我以前使用过的软件包,因此会有所帮助。
预先感谢
答案 0 :(得分:0)
好吧,似乎问题出在以下事实:还原到sqldf时,您需要明确指定驱动程序和dbname,如以下示例所示:
Table(lc, colWidths=[0.5*inch,0.7*inch,2*inch,2*inch, 1*inch])
我对此一无所知,但这可以解决我的问题,因此我将考虑回答的问题。
在此处了解更多信息
https://www.r-bloggers.com/using-postgresql-in-r-a-quick-how-to/