You are on page 1of 7

Piccola guida alle operazioni in R

Importazione/esportazione dati

dump per salvare un oggetto (funzione, vettore, marice...) su un le di testo che R pu` o poi importare in una nuova sesssione (con il comando source) postscript per scrivere un oggetto (graco) su un le in versione postscript read.table per leggere dati in forma di tabella da un le scan per immettere da tastiera o leggere dati in forma di vettori da le sink per indirizzare loutput di R in un le source per leggere in R un le di comandi o di funzioni o di dati write.table per scrivere vettori o matrici di dati su un le ASCII (formato delimitato da spazi, tabulazioni o quantaltro)

Operazioni generali standard


[] per selezionare elementi di una matrice o vettore $ per individuare e selezionare un elemento da un oggetto lista

attach posiziona in memoria gli elementi di un oggetto lista o data frame;consente di accedervi direttamente c operatore di concatenamento; crea un vettore o una lista di elementi detach operazione inversa ad attach diag per creare una matrice diagonale o estrarre la diagonale di una matrice dim restituisce la dimensione di una matrice (numero di righe,numero di colonne) for, if, else, ifelse strutture di controllo function per creare o denire una nuova funzione help per invocare lhelp riguardo a una funzione length per ottenere la lunghezza di un vettore (non funziona per le matrici: vedere dim ) library per caricare una libreria list per creare un oggetto lista 1

ls per visualizzare gli oggetti nella directory di lavoro matrix per creare una matrice q per chiudere la sessione di lavoro rep per creare un vettore che ripete uno schema pressato return, while strutture di controllo rm per rimuovere oggetti dalla sessione di lavoro round per arrotondare un numero seq, : per creare una sequenza di numeri sort per ordinare gli elementi di un vettore switch struttura di controllo

Operazioni aritmetiche e logiche


%% modulo (x\%\%y indica x mod y )

+,-,*./ operazioni aritmetiche di base

%/% divisione tra interi ^ elevameto a potenza == uguaglianza != disuguaglianza <, >, <=, >= operatori di confronto ! negazione |, & unione e intersezione componente per componente ||, && unione e intersezione (si arresta al primo elemento che soddisfa la condizione) abs valore assoluto acos, asin, atan funzioni trigonometriche inverse acosh, asinh, atanh funzioni iperboliche inverse all operatore logico che controlla se tutti gli elementi soddisfano una condizione any operatore logico che controlla se una condizione ` vericata per almeno un elemento e beta funzione beta cos, sin, tan funzioni trigonometriche cumsum somme cumulate exp funzione esponenziale gamma funzione gamma 2

log, log10 funzioni logaritmiche max massimo min minimo prod prodotto degli elementi di un vettore sign funzione segno (a valori -1,0,1) sqrt radice quadrata sum somma degli elementi di un vettore

Operazioni su vettori e matrici

[[]] per selezionare un elemento di una matrice %*% prodotto tra matrici aperm per trasporre una matrice (confrontare con t ) apply per applicare una funzione alle righe/colonne di una matrice aperm per trasporre una matrice cbind per aggiungere colonne a una matrice/un vettore crossprod prodotto matriciale (equivale al comando t(x) %*% y ) dim per ottenere le dimensioni di una matrice eigen per ottenere autovalori e autovettori di una matrice ncol per ottenere il numero di colonne di una matrice nrow per ottenere il numero di righe di una matrice outer per ottenere il prodotto esterno di due vettori/array rbind per aggiungere righe a una matrice/un vettore sapply per applicare una funzione agli elementi di una matrice solve per invertire una matrice svd per ottenere la decomposizione in valori singolari di una matrice t per trasporre una matrice tapply per applicare una funzione agli elementi di un vettore

Operazioni sul formato o struttura dei dati

as.character trasforma largomento in un oggetto testuale as.matrix trasforma largomento in un oggetto matriciale as.numeric trasforma largomento in un oggetto numerico as.vector trasforma largomento in un oggetto vettoriale is.character operatore logico; controlla se largomento ` un testo e is.function operatore logico; controlla se largomento ` una funzione e is.finite operatore logico; controlla se largomento ` nito e is.logical operatore logico; controlla se largomento ` di tipo logico e is.matrix operatore logico; controlla se largomento ` una matrice e is.na operatore logico; controlla la presenza di missing is.nan operatore logico; controlla la presenza di valori indeniti is.null operatore logico; controlla se largomento ` un oggetto vuoto e is.numeric operatore logico; controlla se largomento ` di tipo numerico e is.ordered operatore logico; controlla se largomento ` ordinato e is.vector operatore logico; controlla se largomento ` un vettore e

Graci

dev.copy copia il graco corrente in una nuova nestra graca dev.cur restituisce il numero delle nestre grache correnti dev.next per spostarsi alla nestra graca successiva alla corrente dev.prec per spostarsi alla nestra graca precedente alla corrente dev.set per secgliere la nestra graca da mantenere come attiva dev.off per chiudere la nestra graca corrente graphics.off per chiudere tutte le nestre grache postscript per indirizzare una graco su un le postscript win.graph() per aprire una nuova nestra graca

6.1

Graci-comandi di alto livello

barplot diagramma a barre boxplot diagramma scatola e ba contour curve di livello curve graco di una funzione in una variabile hist istogramma persp graco multidimensionale pie diagramma a torta pairs [ha come argomento una matrice] produce una matrice simmetrica di graci a dispersione incrociando tutte le colonne della matrice. plot graco a dispersione qqnorm graco quantile-quantile per distribuzioni normali qqplot graco quantile-quantile (per due insiemi di dati)

6.2

Graci-argomenti dei comandi di alto livello

axes=F sopprime la generazione degli assi nel graco (utile se si vogliono personalizzare gli assi) log="*" dove * pu` essere uno tra x,y,xy; applica una scala logaritmica allasse x, y, o ad o ambedue gli assi. type="*" con * uno tra {p,l,b,o,h,s,S,n}; disegna nel graco punti, linee, punti collegati da linee (both), punti attraversati da linee, funzioni a scalino (notare la dierenza tra s e S), nessun plot a parte gli assi. main titolo al graco xlab titolo allasse delle ascisse ylab titolo allasse delle ordinate

6.3

Graci-comandi di basso livello (hanno eetto solo dopo un comando di alto livello)

abline per aggiungere una retta al graco corrente. gli argomenti a,b o h= o v= consentono di creare rispettivamente: un segmento con intercetta e coe. angolare dati, un segmento orizzontale, o un segmento verticale passanti per il punto indicato tramite largomento opportuno. arrows per aggiungere un segmento-freccia al graco corrente axis per aggiungere un asse al graco corrente box per aggiungere una cornice al graco corrente identify per identicare interattivamente i punti su un graco

legend per aggiungere una legenda al graco corrente lines per aggiungere delle curve o linee al graco corrente locator per identicare le coordinate di un punto su un graco mtext per aggiungere del testo a margine del graco corrente par per controllare o modicare limpostazione dei parametri graci (si veda oltre) points per aggiungere dei punti al graco corrente qqline per aggiungere una retta al graco creato con qqnorm segments per aggiungere un segmento al graco corrente text per aggiungere del testo al graco corrente title per aggiungere il titolo e il sottotitolo (tramite largomento sub)

6.4

Funzioni interattive

locator restituisce le coordinate del punto selezionato con il mouse sul graco sul quale viene utilizzato. identify usato su un graco a dispersione con la sintassi identify(x,y,labels), restituisce le etichette dei punti selezionati con il mouse.

6.5

Parametri graci

Si osservi che per comodit` ` possibile salvare i parametri graci correnti per ripristinare i ae parametri originali solo dopo aver completato le operazioni che necessitavano di parametri dierenti. Ad esempio si pu` scrivere: o vecchi.parametri<-par() impostando poi un nuovo insieme di parametri: par(mfrow=c(2,2), lty=3) eseguiti poi i comandi graci, scriveremo par(vecchi.parametri) per ripristinare le impostazioni iniziali.

Distribuzioni di alcune v.a.

N.B.: * pu` indicare d(=densit`), p(=funzione di ripartizione), q(=quantile), o a r(=campione casuale). *beta distribuzione beta *binom distribuzione binomiale *cauchy distribuzione di Cauchy *chisq distribuzione chi quadrato *exp distribuzione esponenziale negativa *gamma distribuzione gamma *geom distribuzione geometrica 6

*hyper distribuzione ipergeometrica *lnorm distribuzione lognormale *logis distribuzione logistica *nbinom distribuzione binomiale negativa *norm distribuzione normale *pois distribuzione di Poisson *t distribuzione t di Student *unif distribuzione uniforme *weib distribuzione di Weibull

Procedure statistiche

chisq.test test del chi quadrato coef estrae i coecienti di un modello stimato cor matrice di correlazione fitted valori stimati da un modello stimato lm modello di regressione lineare mean media aritmetica median mediana ppoints vettore ordinato contenente i valori della funzione di ripartizione empririca quantile quantili empirici range campo di variazione rank vettore dei ranghi residuals residui di un modello stimato summary riassunto di un modello stimato table tabella di frequenza tabulate conta gli interi che cadono in ogni intervallo di una sequanza regolare di interi. t.test test t a un campione, due campioni e per dati appaiati var varianza corretta/matrice di varianze e covarianze