R получить тип устройства с открытым графиком png или pdf

#r

#r

Вопрос:

В R мне нужно проверить, какое устройство печати открыто в данный момент, например:

 png("test.png"); get_dev_type()
# answer should be "png"
dev.off(); get_dev_type()
# answer should be "error: could not find open plot device"
pdf("test.pdf"); get_dev_type()
# answer should be "pdf"
dev.off()
plot(0); get_dev_type()
# answer should be "x11"
  

Я не мог понять это с grDevices::dev.* помощью функций.

Большое спасибо за помощь,
Крис

Комментарии:

1. dev.cur() Не дает вам того, что вам нужно? Может быть names(dev.cur())

Ответ №1:

Вы можете сделать names(dev.cur()) :

 get_dev_type <- function() names(dev.cur())

png("test.png")
get_dev_type()
#> [1] "png"

dev.off()
#> RStudioGD 
#>         2 

get_dev_type()
#> [1] "RStudioGD"

pdf("test.pdf")
get_dev_type()
#> [1] "pdf"

dev.off()
#> RStudioGD 
#>         2 
plot(0)
get_dev_type()
#> [1] "RStudioGD"