Я использую базу данных SQLite в R. Чтобы вставить фрейм данных в таблицу SQLite с помощью dbWriteTable из DBI, мне кажется, что мне нужно иметь те же имена столбцов во фрейме данных, что и в таблице . Я использовал sqldf, и это не было условием, он просто вставлял в зависимости от порядка столбцов. Есть ли способ изменить поведение dbWriteTable для принятия моего фрейма данных. Вот пример кода с dbWriteTable и sqldf
library(RSQLite)
library(sqldf)
path = "data_base.sqlite"
conn = DBI::dbConnect(RSQLite::SQLite(),path)
dbExecute(conn, "CREATE TABLE sales(Items INT, Sales REAL)")
df1 = data.frame(Items = c(12,14,5), Sales = c(111.6,130.2,46.5))
dbWriteTable(conn,name = "sales",value = df1, append=TRUE, row.names=FALSE)
df2 = data.frame(Nombre = c(2,6,9), Ventes = c(18.6,55.8,83.7))
dbWriteTable(conn,name = "sales",value = df2, append=TRUE, row.names=FALSE)
sqldf("insert into sales select * from `df2`",dbname = path)