[R-es] Usando R CMD BATCH no me funciona savePlot()

Isidro Hidalgo ihidalgo en jccm.es
Mar Abr 3 11:04:00 CEST 2012


¡Funciona! Muchísimas gracias a todos por vuestra ayuda.

Isidro Hidalgo Arellano
Observatorio Regional de Empleo
Consejería de Empleo y Economía
ihidalgo en jccm.es
http://www.jccm.es


De: Carlos Ortega [mailto:cof en qualityexcellence.es]
Enviado el: martes, 03 de abril de 2012 0:02
Para: Isidro Hidalgo
CC: r-help-es en r-project.org
Asunto: Re: [R-es] Usando R CMD BATCH no me funciona savePlot()

Hola,

Acabo de probar esta solución y funciona.

Se trata de un bucle de cuatro vueltas, y en cada vuelta se generan dos
gráficos.
He probado la opción de que se guarden todos los gráficos en un sólo fichero
pdf, como que se guarden en cuatro ficheros pdfs independientes.

############################
setwd("C:/directorio-de trabajo-donde-se-crearan-los-pdfs")


#Para crear varios pdfs independientes uno por cada ciclo del bucle
pdf("Salida%03d.pdf", onefile=FALSE)

#Para guardar todas las salidas del bucle en el mismo fichero pdf
#pdf("Salida.pdf", onefile=TRUE)

for(i in 1:4) {

## Using "log = TRUE" for an extended range :
par(mfrow=c(2,1))
plot(function(x) dnorm(x, log=TRUE), -60, 50,
     main = "log { Normal density }")
curve(log(dnorm(x)), add=TRUE, col="red",lwd=2)
mtext("dnorm(x, log=TRUE)", adj=0)
mtext("log(dnorm(x))", col="red", adj=1)

plot(function(x) pnorm(x, log.p=TRUE), -50, 10,
     main = "log { Normal Cumulative }")
curve(log(pnorm(x)), add=TRUE, col="red",lwd=2)
mtext("pnorm(x, log=TRUE)", adj=0)
mtext("log(pnorm(x))", col="red", adj=1)

}

dev.off()

############################


Saludos,
Carlos Ortega
www.qualityexcellence.es

El 2 de abril de 2012 18:02, Isidro Hidalgo <ihidalgo en jccm.es> escribió:
Buenas tardes:
Hasta ahora he utilizado savePlot() en ejecuciones de R en Windows, donde lo
que hago es grabar la ventana de gráficos mediante dev.cur() en formato pdf.
Concretamente éste es el código:
> savePlot(filename = ruta_pdf, type = "pdf", device = dev.cur(),
restoreConsole = TRUE)
Este comando está dentro de un bucle de "n" ejecuciones, por lo que guardo
un pdf por cada variable que trabajo: variable1.pdf, variable2.pdf,
variable3.pdf...
Sin embargo, estoy empezando a meterme en automatización de procesos en R,
para lo cual lanzo un script desde Windows a través de la ejecución de R en
la consola de DOS ("CMD BATCH script.r"), es decir, sin abrir Rgui en
Windows.
El problema es que como no abro R en Windows, no existe la ventana gráfica,
con lo que falla el comando saveplot() y he visto que automáticamente se
crea un fichero "Rplots.pdf" en el que cada página guarda la salida gráfica
de cada variable.
¿Alguien sabe cómo puedo grabar lo que sería una salida pdf individual para
cada variable, como he venido haciendo hasta ahora con savePlot()?
Muchas gracias.

Isidro Hidalgo Arellano
Observatorio Regional de Empleo
Consejería de Empleo y Economía
ihidalgo en jccm.es
http://www.jccm.es

_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es




--
Saludos,
Carlos Ortega
www.qualityexcellence.es



Más información sobre la lista de distribución R-help-es