2010-07-28 14 views
6

Sono un novizio completo di R, e nessuna delle introduzioni che ho visto riguarda come usare R quando tutto ciò che hai è la riga di comando e nessun sistema di finestre. I miei dati sono su un server e sto lavorando con ssh. In gnuplot, puoi impostare il tuo "display" come file PNG su disco. Come faccio a tracciare qualcosa su un file su disco da R? R-2.9.1 su CentOS, se è importante. Grazie!Tracciamento su un file in R

(Scusate se questo è insolitamente semplice, ma ho il momento peggiore Googling per risposte rapide con R. nome carino, impossibile da cercare.)

+3

Utilizzare http://rseek.org che limita la ricerca di Google ai siti pertinenti e aggiunge alcuni altri campanelli e fischi. –

+2

Googling per qualsiasi cosa abbia a che fare con R è un problema classico :) Potresti trovare http://www.rseek.org utile, o ci sono molti altri suggerimenti in risposta a questa domanda: http://stackoverflow.com/questions/ 102056/how-to-search-for-r-materials –

+0

Eccellente, sul problema della ricerca. Grazie ragazzi. :) –

risposta

3

tenere presente che postscrpt(), pdf(), png() e jpeg() hanno parametri di funzionalità specifiche che possono essere utilizzati per personalizzare l'output.

Ad esempio:

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

controllo ?postscript Per ulteriori informazioni sui parametri che possono essere utilizzati.

In secondo luogo, tenere presente che tutti i comandi che si desidera includere nel vostro diagramma salvato devono essere eseguiti prima di dev.off()

Ad esempio:

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() 

Un altro esempio:

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() 

Spero che questo aiuti.

+0

Ah; esempi ancora migliori, con alcuni consigli pratici. Grazie mille! (Ora ovviamente ho bisogno di ottenere un amministratore amichevole per mettere effettivamente i driver del dispositivo sul posto sul nostro server.) –

3

Da loro documentazione, sembra si deve usare device drivers:

R in grado di generare grafica (di varia livelli di qualità) su quasi ogni tipo di schermo o dispositivo di stampa. Prima di questo può iniziare, tuttavia, R deve essere informato che tipo di dispositivo è che si occupa di. Questo viene fatto avviando un driver di periferica. Lo scopo di un driver di dispositivo è di convertire le istruzioni grafiche da R ("disegnare una linea", ad esempio ) in un modulo che il dispositivo specifico può comprendere.

(...)

  • PostScript() - Per la stampa su stampanti PostScript, o la creazione di file grafici PostScript.
  • pdf() - Produce un file PDF, che può anche essere incluso in file PDF.
  • png() - Produce un file PNG bitmap. (Non sempre disponibile: vedere la sua pagina di aiuto .)
  • jpeg() - Produce un file JPEG bitmap, utilizzato al meglio per i grafici di immagine. (Non sempre disponibile:. Vedere la sua pagina di aiuto)
+1

Ricordarsi di chiudere il file con dev.off()! Se non si utilizza dev.off(), il file verrà creato ma mai scritto, e si otterrà un errore. – chimeracoder

8

Giusto per espandere il Gnoupi risposta, è anche necessario chiudere la connessione con il dispositivo con dev.off se si desidera che la trama da scrivere su file.

Per esempio

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

Ah. Un vero esempio di utilizzo del dispositivo era proprio quello che stavo cercando. Grazie! –

+0

Grazie per aver dato un esempio, ho solo citato il manuale, non sapevo come usarlo. – Gnoupi

+0

Si noti che c'è anche 'png (...)'. –

2

Se la connessione al server è abbastanza veloce, si potrebbe provare X11 forwarding attraverso la connessione SSH - in pratica il server complotto per una finestra sul vostro schermo locale, molto utile!

HOWTO no 1

HOWTO no 2

+0

Sì, non quello di cui ho bisogno; ma collegamenti utili per altre situazioni. Grazie! –

Problemi correlati