Использование jpeg (file =) создает пустой JPEG, даже если нет вызова для создания графика - PullRequest
3 голосов
/ 15 марта 2012

Это наблюдается в пакетном режиме.Учитывая следующий фрагмент кода, я не понимаю, почему R создает пустой файл JPEG в Windows, хотя я не вызываю график или график.Когда я запускаю подобный код в Linux или OS X, файл jpeg не создается.Я не знаю заранее, если пользователь захочет получить график, поэтому я заранее установил имя файла (ов) и дал ему имя и местоположение..

Ответы [ 2 ]

4 голосов
/ 15 марта 2012

Файл справки ?jpeg (который также применяется к устройствам bmp(), png() и tiff()) указывает, что:

The ‘type = "windows"’ versions of these devices effectively plot
 on a hidden screen and then copy the image to the required format.

Эта специфичная для Windows деталь реализации, скорее всего, объясняет разницу в поведении систем Windows и * NIX.

В Windows вызов любой из вышеперечисленных функций (а также pdf() и postscript()) создает файл - независимо от того, строите ли вы что-либо на этом скрытом экране или нет. За исключением pdf() (который создает файлы, которые я не могу открыть с помощью средства просмотра), изображение, зарегистрированное на графическом устройстве, представляет собой изображение белого прямоугольника высотой и шириной, указанного при вызове определенного устройства.

2 голосов
/ 15 марта 2012

Я бы не волновался об этом.если вас беспокоит перспектива файлов нулевой длины, загромождающих папку, вы можете очистить потом что-то вроде

jpgs <- file.path("c:/temp", dir(pattern="c:/temp/test[0-9]*\\.jpeg"))
s <- file.info(jpgs)[["size"]]
for(i in seq_along(s))
    if(s[i] == 0) file.remove(jpgs[i])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...