Я создаю скрипт для кластеризации моих данных на сервере.Мне нужно сохранить текстовый вывод и изображения, а также.Вывод текста работает просто отлично, но когда я пытаюсь использовать элемент png()
+ plot()
+ dev.off()
для сохранения графиков, изображение не создается.
[ ДОБАВЛЕНО ДЛЯ УТОЧНЕНИЯ ]
Что мне нужно сделать, это СОХРАНИТЬ график (т.е. сгенерировать файл изображения) в рабочем режиме.Если я запускаю код шаг за шагом, файл создается.
Я уже пытался изменить формат изображения на PDF и JPG, используя соответствующие функции, но я все еще не получаю изображения в качестве вывода, когдаЗапуск кода в виде скрипта.При пошаговом выполнении это прекрасно работает.
Так как для рендеринга изображения, когда я выполняю шаг за шагом, требуется немного времени, я попытался добавить Sys.sleep(2)
между командами (код ниже), но ничегоизменено.
Я думаю, что проблема может быть связана с пакетом, который я использую, и типом объекта, который он генерирует (library(NMF)
).Я посмотрел документацию, чтобы узнать, было ли что-то в том, как функция plot()
работает с типом объекта, который генерирует алгоритм кластеризации, но текст расплывчат:
"Результат (из estim.r <- nmf(esGolub, 2:6, nrun=10, seed=123456)
например) является объектом S3 класса NMF.rank
, который содержит data.frame с показателями качества в столбце и значениями r в строке. Он также содержит список согласованной матрицы для каждого значения r ".
"Все меры могут быть нанесены на график одновременно методом plot
(рисунок 1), а функция consensusmap
генерирует тепловые карты согласованной матрицы для каждого значения ранга".
Существует еще один тип образа, который можно создать после запуска кластеризации: consensusmap
.Этот работает в обоих случаях (пошаговый и запущенный).
Сценарий довольно короткий.Вот оно:
library(NMF)
data = read.csv('R.csv', header=TRUE, sep=";")
res1 <- nmf(data, rank=2:5, nrun=1, "brunet", "random")
# this always works
capture.output(summary(res1) ,file = "summary.txt", append = TRUE)
# this always works too
png(filename = 'consensus.png', width = 1366, height = 768, units = 'px')
consensusmap(res1)
dev.off()
# this does not work on 'running mode', only 'stepping mode'
png(filename = 'metrics.png', width = 1366, height = 768, units = 'px')
# added hoping it would fix the issue. It didn't
Sys.sleep(2)
plot(res1)
# added hoping it would fix the issue. It didn't
Sys.sleep(2)
dev.off()
Файл summary.txt
создан, consensus.png
тоже.metrics.png
нет.Что здесь происходит?