У меня возникают проблемы с сохранением точечной диаграммы в pdf, когда эта команда выполняется внутри функции.
Он отлично работает при обычном вызове:
df <- data.frame(a = runif(10), b = runif(10), c = runif(10), x = 1:10)
pdf("test.pdf")
dotplot(a + b + c ~ x, data = df, type = "l", auto.key=TRUE)
dev.off()
Но если этот код находится внутри функции, он не будет работать и просто создаст пустой или пустой файл:
plotFunc <- function(model)
{
pdf("test.pdf")
dotplot(a + b + c ~ x, data = model, type = "l", auto.key=TRUE)
dev.off()
}
plotFunc(df)
Однако вызов функции без файловых команд приведет к успешной печати в графическом окне:
plotWinFunc <- function(model)
{
dotplot(a + b + c ~ x, data = model, type = "l", auto.key=TRUE)
}
plotWinFunc(df)
Это наводит меня на мысль, что с dotplot() что-то не так, когда предполагается вывод в файл. И тип файла не имеет значения, я пробовал и с bmp, и с pdf, и ни один метод не работает.
Как я могу успешно записать точечный график в файл? Нужно ли использовать специальную команду из пакета решетки или у меня где-то ошибка?
Спасибо за любую помощь.