Читать только некоторые столбцы с RSQLite?
Я только хочу прочитать 3 столбца из таблицы. Прямо сейчас я делаю то, что, по-моему, очень неэффективно
library(dplyr, quietly = T, warn.conflicts = F)
library(RSQLite, quietly = T)
db <- dbConnect( SQLite() , "SIPP08.db" )
dbListTables(db)
w13 <- dbReadTable( db , 'w13' )
dbDisconnect(db)
df = w13 %>%
select(ssuid, epppnum,ejbind1)
Есть ли лучший способ сделать это?
Спасибо!
Я также попытался использовать dplyr, как это
my_db <- src_sqlite(path = "SIPP08.db")
w13 <- tbl(my_db, "w13")
df = w13 %>%
select(ssuid, epppnum,ejbind1)
Но это не работает
1 ответ
Решение
Было бы лучше напрямую запросить базу данных SQLite, что-то вроде этого
library(dplyr)
library(RSQLite)
db <- src_sqlite("SIPP08.db")
df <- tbl(db, sql("SELECT ssuid, epppnum, ejbind1 from wt13"))
Я не знаю, почему у вас есть list
но вы можете просто использовать DBI
пакет и RSQLite
иметь data.frame
library(DBI)
db <- dbConnect(SQLite() , "SIPP08.db")
df <- dbGetQuery(db, "SELECT ssuid, epppnum, ejbind1 from wt13")
У меня нет ваших данных, но первый код работает для меня, используя набор данных игрушек.