2015-03-31 2 views
2

У меня есть база данных SQLite pisa06.db, созданная из фрейма данных. Я хотел бы выборочно читать переменные (столбцы) из этого файла базы данных, не загружая их в память. Я знаю, что могу сделать это с помощью фрейма данных уже в рабочей области. Я не мог понять, как это сделать с базой данных на диске, не читая всю базу данных.Прочитать и запросить базу данных SQLite с помощью sqldf

Позвольте мне рассказать подробнее. У меня есть кадр данных 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 для этой цели? Это лучший способ сделать это?

ответ

3

Использование RSQLite пакета:

require(RSQLite) 
con <- dbConnect(SQLite(), dbname="pisa06.db") 
dbGetQuery(con,"select CNT, SCHOOLID from pisa06") 
Смежные вопросы