Как явно удалить базу данных SQLite, созданную с помощью библиотеки sqldf, в сценарии R

Я создал функцию R для выполнения поднабора, суммирования, плотности и построения графиков. Первоначально я назначал подмножества моей рабочей области в RStudio, но я начал сталкиваться с ограничениями памяти. В последней редакции предпринимается попытка сохранить итоговое количество наблюдений в базе данных SQLite вместо экспорта подмножеств в качестве собственных фреймов данных. Теория заключалась в том, что это будет использовать меньше памяти. Чтобы выполнить этот процесс, я создал новую базу данных в моей функции, как в:

sqldf("attach 'mydb' as new")
sqldf("create table TotalsTbl as select 'resimrr' as name, count(*) as count from resimrr", dbname="mydb")
sqldf("insert into TotalsTbl select 'resimrrquan' as name, count(*) as count from resimrrquan", dbname="mydb")

Затем я создаю несколько таблиц и заполняю их как функции функции. Наконец, я экспортирую результаты запроса таблиц SQLite в кадры данных, которые затем назначаю своей рабочей области.

Это обеспечивает ожидаемый результат:

sqldf("select * from TotalsTbl, dbname="mydb")
name count
1 resimrr 95517
2 resimrrquan 93928

Проблема сейчас заключается в том, что база данных является постоянной. Он создается при первом вызове функции, он живет в моих Rsessions и моем рабочем пространстве, и если я снова запускаю функцию, команды CREATE TABLE завершаются сбоем, потому что таблицы уже существуют. Таким образом, вопрос заключается в том, как мне удалить / очистить "mydb" после того, как я использую его в своей функции?

0 ответов

Другие вопросы по тегам