Per impostazione predefinita, per ogni avvio di sessione R riceve l’input da tastiera e come output lo schermo. Tuttavia, è possibile ricevere input da file di script (file contenente comandi R) e avere output di qualsiasi tipologia. Vediamo come fare a gestire gli Input e output in R.

Input in R

Con la funzione source() è possibile eseguire uno script nella sezione corrente. Se non viene specificato il percorso, il file che viene eseguito deve trovarsi nella directory di lavoro corrente.

# input da script
source("myfile")

Alla funzione source possiamo specificare diversi parametri

source(file, local = FALSE, echo = verbose, print.eval = echo,
exprs, spaced = use_file,
verbose = getOption("verbose"),
prompt.echo = getOption("prompt"),
max.deparse.length = 150, width.cutoff = 60L,
deparseCtrl = "showAttributes",
chdir = FALSE,
encoding = getOption("encoding"),
continue.echo = getOption("continue"),
skip.echo = 0, keep.source = getOption("keep.source"))
withAutoprint(exprs, evaluated = FALSE, local = parent.frame(),
print. = TRUE, echo = TRUE, max.deparse.length = Inf,
width.cutoff = max(20, getOption("width")),
deparseCtrl = c("keepInteger", "showAttributes", "keepNA"),
…)

withAutoprint (exprs) è un wrapper per il codice sorgente (exprs = exprs, ..) con diversi valori di default. Il suo scopo principale è quello di valutare e auto-stampare le espressioni come se fossero in un contesto di livello superiore, ad esempio nella console R.

Output in R

La funzione sink() definisce il percorso dell’output.

# definisce l’output del file

sink(file = NULL, append = FALSE, type = c("output", "message"), split = FALSE)

# restituisce l’output
sink()

Se l’opzione append=TRUE allora sink non sovrascrive il file ma aggiunge il contenuto al file già esistente. Tramite il parametro split è possible inviare l’output anche allo schermo.

Esportare grafici in R

Per quanto riguarda i grafici con dev.off() avremo l’output su schermo, invece se vogliamo averlo su file:

Funzione Output su
pdf(“mygraph.pdf”) pdf file
win.metafile(“mygraph.wmf”) windows metafile
png(“mygraph.png”) png file
jpeg(“mygraph.jpg”) jpeg file
bmp(“mygraph.bmp”) bmp file
postscript(“mygraph.ps”) postscript file

Utilizzare un percorso completo nel nome del file per salvare il grafico all’esterno della directory di lavoro corrente.

Esempio

# example - output del grafico su file jpeg
jpeg("c:/mygraphs/myplot.jpg")

# example - output del grafico sullo schermo
plot(x)
dev.off()

Guarda tutti i tutorial sull’Ambiente di Lavoro oppure torna su R tutorial.