R pdf() utilização dentro de uma função()
tenho algum código em R que gera um ficheiro pdf multipage:
pdf("myplot.pdf", width=8.5, height=5)
My.Plot(my.data, var1, var2)
My.Plot(my.data, var3, var2)
My.Plot(my.data, var4, var2)
dev.off()
meu Deus.Plot() é apenas uma função que analisa os dados necessários e, em seguida, usa ggplot para criar um grafo
O acima funciona muito bem. No entanto, quando coloco este código em uma função, não há gráficos gerados e o PDF de saída não pode ser lido/aberto.
generate.PDF <- function(my.data) {
pdf("myplot.pdf", width=8.5, height=5)
My.Plot(my.data, var1, var2)
My.Plot(my.data, var3, var2)
My.Plot(my.data, var4, var2)
dev.off()
}
12
1 answers
Quando em uma função, você precisa chamar a função print()
para realmente pintar na tela, assim:
x <- runif(20,10,20)
y <- runif(20,30,50)
data<-data.frame(x,y)
generate.PDF <- function(data) {
pdf("/home/aksel/Downloads/myplot.pdf", width=8.5, height=5,onefile=T)
plot1 <- plot(x,y)
plot2 <- plot(y,x)
plot3 <- plot(x,y*2)
print(plot1)
print(plot2)
print(plot3)
dev.off()
}
generate.PDF(data)
11
Author: ako, 2013-10-10 06:54:12