2010-07-28 12 views
6

Soy un novato completo para R, y ninguna de las presentaciones que he visto cubren cómo usar R cuando todo lo que tienes es la línea de comandos y ningún sistema de ventanas. Mis datos están en un servidor, y estoy trabajando con él a través de ssh. En gnuplot, puede configurar su "pantalla" para que sea un archivo PNG en el disco. ¿Cómo trazo algo a un archivo en el disco desde R? R-2.9.1 en CentOS, si es importante. ¡Gracias!Trazando un archivo en R

(Lo siento si esto es inusualmente básica, pero tengo el peor momento de buscar en Google para obtener respuestas rápidas con R. nombre linda, imposible buscar.)

+3

Utilice http://rseek.org, que restringe la búsqueda de Google a sitios relevantes y agrega algunas más campanas y silbatos. –

+2

Google para cualquier cosa que ver con R es un problema clásico :) Puede encontrar http://www.rseek.org útil, o hay muchas otras sugerencias en las respuestas a esta pregunta: http://stackoverflow.com/questions/ 102056/how-to-search-for-r-materials –

+0

Excelente, en el problema de búsqueda. Gracias chicos. :) –

Respuesta

3

Tenga en cuenta que postscrpt(), pdf(), png() y jpeg() tienen parámetros de las funciones específicas que se pueden utilizar para personalizar la salida.

Por ejemplo:

postscript("filename.eps", horizontal=F, width=4, height=4, 
      paper="special", onefile=F) 
plot(x) 
dev.off() 

cheque ?postscript para más información sobre los parámetros que pueden ser utilizados.

En segundo lugar, tenga en cuenta que todos los comandos que desea ser incluido en su gráfico guardado deben ser ejecutadas antes de la dev.off()

Por ejemplo:

postscript("filename.eps", horizontal=F, width=4, height=4, 
      paper="special", onefile=F) 
plot(x)  
text(5, 1, "This is a message for the aliens") 
text(5, 0.5, "Pizza is tasty") 
dev.off() 

Otro ejemplo:

regone <- glm(y ~ x1, data=mydata, family=...) 
summary(regone) 

postscript("filename.eps", horizontal=F, width=4, height=4, 
       paper="special", onefile=F) 
plot(x, y) 
abline(regone) 
dev.off() 

Espero que ayude.

+0

Ah; incluso mejores ejemplos, con algunos consejos útiles. ¡Gracias un montón! (Ahora, por supuesto, necesito que algún administrador amigable coloque realmente los controladores del dispositivo en nuestro servidor). –

3

Desde su documentación, parece que tiene que utilizar device drivers:

R puede generar gráficos (de variar niveles de calidad) en casi cualquier tipo de pantalla o dispositivo de impresión. Antes de esto puede comenzar, sin embargo, R necesita ser informado sobre qué tipo de dispositivo está tratando con . Esto se hace iniciando un controlador de dispositivo. El propósito de un controlador de dispositivo es convertir instrucciones gráficas de R ("dibujar una línea", por ejemplo) en un formulario que el dispositivo particular puede entender.

(...)

  • PostScript() - Para imprimir en impresoras PostScript, o la creación de archivos gráficos PostScript.
  • pdf() - Produce un archivo PDF, que también se puede incluir en archivos PDF.
  • png() - Produce un archivo PNG de mapa de bits. (No siempre disponible: consulte su página de ayuda ).
  • jpeg() - Produce un archivo JPEG de mapa de bits, mejor utilizado para gráficos de imágenes. (No siempre disponible:. Ver su página de ayuda)
+1

Recuerde cerrar el archivo con dev.off()! Si no usa dev.off(), el archivo se creará pero nunca se escribirá y obtendrá un error. – chimeracoder

8

Sólo se expanda en respuesta Gnoupi, también hay que cerrar la conexión con el dispositivo con dev.off si desea que la trama se escriba en un archivo.

Por ejemplo

pdf("mygraph.pdf") 
plot(x, y, "l") 
dev.off() 
+0

Ah. Un ejemplo real del uso del dispositivo era justo lo que estaba buscando. ¡Gracias! –

+0

Gracias por dar un ejemplo, solo cité el manual, no sabía cómo usarlo. – Gnoupi

+0

Debe tener en cuenta que 'png (...)' también. –

2

Si su conexión con el servidor es lo suficientemente rápido, podría intentar el reenvío X11 a través de su conexión ssh - básicamente el servidor trazar a una ventana en la pantalla local, muy útil!

HOWTO no 1

HOWTO no 2

+0

Sí, no es lo que necesito; pero enlaces útiles para otras situaciones. ¡Gracias! –