我有一个从数据框创建的SQLite数据库pisa06.db
。我想有选择地从这个数据库文件中读取变量(列)而不实际加载到内存中。我知道我可以使用工作区中已有的数据框来完成它。我无法弄清楚如何在磁盘中使用数据库而不读取整个数据库。
让我告诉你更多细节。我有一个数据框pisa06
。我使用
pisa06.db
library(sqldf)
drv <- dbDriver("SQLite")
con <- dbConnect(drv, "pisa06.db")
dbWriteTable(con, "pisa06", pisa06)
现在我需要访问此数据库文件并将一些变量读入数据框而无需读取整个数据库。我尝试了很多替代品。这不起作用:
df <- sqldf("select CNT, SCHOOLID from pisa06", drv="SQLite")
如何将sqldf
用于此目的?这是最好的方法吗?
答案 0 :(得分:4)
使用RSQLite
包:
library(RSQLite)
con <- dbConnect(SQLite(), dbname = "pisa06.db")
dbGetQuery(con,"select CNT, SCHOOLID from pisa06")