Поскольку я работаю с большими объектами RasterBrick, объекты не могут быть сохранены в памяти, но хранятся как временные файлы в текущем каталоге временных файлов tempdir () или, если быть точным, в подпапке "растровые". Из-за больших размеров файлов было бы очень хорошо удалить временные файлы неиспользуемых объектов.
Если я удаляю объекты, мне больше не нужно
rm (list = ls (pattern =) "xxx")
временные файлы все еще существуют. Сборка мусора g c () не повлияет на это, насколько я понимаю, поскольку это не влияет на жесткий диск. Автоматически присваиваемые имена временных файлы не имеют никакого отношения к именам объектов, поэтому невозможно удалить их с помощью кода, подобного
raster_temp_dir <- paste (tempdir (), "/ raster", sep = "") files_to_be_removed <- list.files (rastertemp, pattern = "xxx", full.names = T) </p>
К сожалению, файлы объектов, которые все еще используются, не доступны только для чтения. Поэтому я также удалил бы объекты, которые мне все еще нужны запустив:
files_to_be_removed <- list.files (rastertemp, full.names = T) </p>
Кто-нибудь уже решил эту проблему или есть идеи, как ее решить? Было бы идеально, если бы как-то там код может различать guish между неиспользованными и использованными объектами. Поскольку это маловероятно, чтобы реализовать обходной путь, возможно, было бы присвоение имен временным файлам объектов Raster вручную, но я не нашел ни одной опции для этого, поскольку аргумент имени файла можно использовать только при записи файлов на жесткий диск, но не при временной файлы созданы (насколько мне известно).
Спасибо!