0

サブセット化、集計、密度、およびプロットを実行する 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」を削除/クリーンアップするにはどうすればよいですか?

4

0 に答える 0