Ошибка использования гибкого пакета R - невозможно загрузить временный файл изображения - PullRequest
1 голос
/ 28 мая 2019

Я пытаюсь сохранить фрейм данных в виде файла изображения, используя flextable, с конечной целью построить его рядом с объектом ggplot. Вот пример кода:

library(flextable)
ft <- flextable( head( mtcars ) )
ft <- autofit(ft)
tf <- tempfile(fileext = ".png")
save_as_image(ft, tf)

, который возвращает следующую ошибку:

Could not load  file:///D:/Antonis/Documents/file:/C:/Users/Antonis/AppData/Local/Temp/RtmpmgSSYv/file2510dc77c47.html
Error in webshot::webshot(url = sprintf("file://%s", tf), file = path,  : 
  webshot.js returned failure value: 1
In addition: Warning message:
In normalizePath(path.expand(path), winslash, mustWork) :
  path[1]="file://C:\Users\Antonis\AppData\Local\Temp\RtmpmgSSYv\file2510dc77c47.html": The filename, directory name, or volume label syntax is incorrect

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

setwd("C:/Users/Antonis/AppData/Local/Temp/RtmpmgSSYv")

но ошибка сохраняется:

Could not load  file:///C:/Users/Antonis/AppData/Local/Temp/RtmpmgSSYv/file:/C:/Users/Antonis/AppData/Local/Temp/RtmpmgSSYv/file25105e4f2c8b.html
Error in webshot::webshot(url = sprintf("file://%s", tf), file = path,  : 
  webshot.js returned failure value: 1
In addition: Warning message:
In normalizePath(path.expand(path), winslash, mustWork) :
  path[1]="file://C:\Users\Antonis\AppData\Local\Temp\RtmpmgSSYv\file25105e4f2c8b.html": The filename, directory name, or volume label syntax is incorrect

То же самое происходит, когда я пытаюсь установить путь с помощью команды tempfile:

tf <- tempfile(tmpdir = "C:/Users/Antonis/AppData/Local/Temp/RtmpmgSSYv", fileext = ".png")

Файл справки save_as_image также не дал какой-либо информации.

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

1 Ответ

0 голосов
/ 28 мая 2019

Не уверен насчет flextable, но вы можете использовать tableHTML для этого в качестве альтернативы.Вы можете указать файл для локального сохранения или он будет сохранен во временном файле автоматически.

library(tableHTML)
mtcars %>%
 head() %>%
 tableHTML() %>%
 add_theme('scientific') %>%
 tableHTML_to_image()

Вывод:

enter image description here

...