Estratto del documento

Le 4 finestre di RStudio

1. Finestra console (o di comando)

Qui è possibile digitare dei comandi dopo il simbolo ed R eseguirà il comando.

2. Finestra editor

Qui è possibile scrivere, modificare e salvare un insieme di comandi. Per eseguire una o più righe, dopo averle selezionate, si prema il pulsante oppure Run CTRL+INVIO.

3. Finestra environment/history

Nella finestra Environment si può vedere quali oggetti (vettori, dataset,…) sono contenuti nella memoria di R. La finestra History raccoglie la storia dei comandi eseguiti.

4. Finestra files/plots/packages/help

Qui è possibile aprire files, visualizzare grafici, installare e caricare pacchetti o utilizzare la funzione di help.

Sul sito del CRAN sono disponibili svariate guide di introduzione ad R ed è inoltre possibile consultare i suggerimenti e i consigli presenti nelle FAQ (Most Frequent Asked Questions). Mentre si sta lavorando con il programma, si possono chiamare direttamente gli aiuti. Con il comando:

help.start()

appare una pagina web off-line dalla quale si accede ai manuali e a informazioni generali. Cliccando, ad esempio, sulla voce Packages si trova un elenco di molti pacchetti di base o aggiuntivi disponibili. Un altro modo semplice per chiedere informazioni consiste nell’anteporre un punto interrogativo al comando su cui si desidera avere maggiori informazioni. Una modalità alternativa per chiedere aiuto consiste nel ricorrere alla funzione example(nome funzione).

R come calcolatrice

R può essere utilizzato come una calcolatrice. Basta digitare l’espressione nella finestra console e premere invio:

Per operazioni più complicate, è consigliabile l’utilizzo delle parentesi: ad esempio produce un risultato diverso da...

Aggiungere commenti al codice

  • È buona norma commentare il codice in modo tale da trovare delle annotazioni anche dopo molto tempo dopo averlo scritto.
  • Il carattere per commentare una riga, o più, di codice è #. Una riga commentata non viene eseguita.

Gli operatori

Gli operatori aritmetici di base sono i seguenti:

  • addizione (x+y)
  • sottrazione (x-y)
  • moltiplicazione (x*y)
  • divisione (x/y)
  • elevamento a potenza (x^y)

Gli operatori relazionali sono i seguenti:

  • uguale (x==y)
  • maggiore o uguale (x>=y)
  • minore o uguale (x<=y)
  • maggiore (x>y)
  • minore (x
  • diverso (x!=y)

Gli operatori logici sono i seguenti:

  • AND logico (x&y)
  • OR logico (x|y)
  • NOT logico (!x)

Funzioni matematiche

R dispone al suo interno di numerose funzioni, per ciascuna delle quali è presente un file di aiuto a cui si può accedere digitando dal prompt:

help(funzione) o ?funzione

Tra le funzioni matematiche, di seguito un elenco (non esaustivo):

  • absolute value e sign (abs(), sign())
  • square roots (sqrt())
  • exponential function (exp())
  • natural and common logarithms (log(), log10())
  • trigonometric functions (sin(), cos(), tan())
  • inverse trigonometric functions (asin(), acos(), atan())
  • factorial and binomial coefficients (factorial(), choose())
  • rounding to nearest (round(), signif())
  • rounding up and down (ceiling(), floor())

Il numero pi è una costante predefinita corrispondente al numero pi-greco; mentre il numero di Eulero si ottiene con la funzione exp(1).

Ad esempio, per visualizzare gli argomenti di una funzione, basta digitare il nome della funzione nella finestra di comando e premere TAB.

Un comando con cui è bene familiarizzare è:

help(comando) o ?comando

Digitando ?log, si ottiene una descrizione della funzione, i possibili argomenti e i valori utilizzati di default. Gli esempi che si trovano alla fine della finestra possono essere eseguiti tramite il comando example(comando).

Variabili

Spesso è opportuno associare ai numeri un nome. Così facendo, diventano delle variabili, che possono essere utilizzate successivamente. I nomi in R possono essere lettere, cifre o punti. Non sono ammessi però nomi che iniziano con una cifra, inoltre non è ammesso un punto iniziale seguito da una cifra.

Per creare un oggetto è necessario utilizzare il comando:

<- o = o ->

Prestare attenzione, nel momento in cui si decide di creare un oggetto, ad eventuali oggetti preesistenti. Se possiedono lo stesso nome, questi ultimi verranno infatti sovrascritti e quindi cancellati; è necessario perciò evitare di creare oggetti con nomi già usati dall’ambiente R, ad esempio, tra i nomi riservati di R, alcuni caratteri singoli: c, q, t, C, D, F, I, T (si suggerisce di consultare l’help per conoscere la funzione corrispondente). Nei casi di incertezza su una possibile assegnazione, si provi a digitare nella R–console il nome che si desidera attribuire alla variabile, controllando che non si tratti di un carattere riservato.

Ad esempio, per assegnare il valore 4 alla variabile x:

La variabile appare nella finestra environment. Ciò significa che R ha memorizzato l’oggetto x. A questo punto, digitando nella Console x, R mostra nell’output il suo contenuto.

Si può usare x per eseguire qualche calcolo, ad esempio per calcolare la circonferenza di un cerchio di raggio x.

Se si definisce nuovamente x, R dimenticherà quale valore aveva in precedenza. È importante sapere che R è un linguaggio case-sensitive, ovvero distingue le lettere maiuscole dalle minuscole.

È anche possibile assegnare ad x un nuovo valore utilizzando quello vecchio. È possibile costruire una nuova variabile che è funzione di x, ad esempio y.

Per vedere l’elenco di tutti gli oggetti presenti nel workspace (memoria di lavoro)

Per rimuovere la variabile y dalla memoria di R, si può utilizzare la funzione rm(...):

Per rimuovere tutte le variabili dalla memoria di R, basta cliccare il pulsante Clear Environment, oppure per cancellare tutte le variabili esistenti nell’area di lavoro, comprese le funzioni create o aggiunte, è necessario usare il comando:

rm(list=ls())

Vettori

Uno scalare è un numero singolo, un vettore è una riga di numeri. La variabile x definita in precedenza è uno scalare. Per creare un vettore contenente i numeri 2, 7, 4 e 1 è necessario ricorrere alla funzione c(...) per concatenare gli elementi (separati dalla virgola) che vengono forniti come argomento.

Si noti che R precede l’output con [1] per indicare a cosa corrisponde il primo elemento del vettore y. È chiaro che 7, 4, e 1 sono, rispettivamente, il secondo, il terzo e il quarto elemento di y.

Per determinare la lunghezza del vettore

Esempi di vettori

  • Sequenze di numeri
  • Liste

Le liste sono oggetti di R che contengono al loro interno elementi di natura differente, ad esempio:

  • Come creare vettori o liste
  • Nominare vettori o liste

Subsetting

Ci sono diversi modi per accedere agli elementi di un vettore:

  • Specificando gli indici da includere: ovvero è possibile accedere all’i-esimo elemento di un vettore attraverso [i] oppure agli elementi con indice i, j e k attraverso [c(i,j,k)]. Ad esempio, se si vuole accedere al terzo elemento oppure al primo e al quarto elemento.
  • Specificando gli indici da escludere; es accedere agli elementi di y escludendo alcuni indici.
  • Attraverso una selezione true/false.
  • Ricorrendo alla funzione which(...). Per esempio, se vogliamo sapere quali sono gli indici corrispondenti agli elementi di y maggiori di 1: quindi per ottenere gli elementi di y maggiori di 1.

La funzione which(...) richiede come argomento un vettore di tipo logico e restituisce gli indici di un vettore i cui elementi contengono l’oggetto TRUE. Il simbolo insieme a TRUE e FALSE sono gli unici due risultati di una condizione logica come y > 1. Si noti quanto segue: restituisce un vettore di ‘vero/falso’ che passato alla funzione which() restituisce gli indici del vettore corrispondenti a TRUE.

È possibile considerare condizioni logiche più complicate. Ad esempio, se vogliamo sapere quali sono gli indici corrispondenti agli elementi di y compresi tra 1 incluso e 5 escluso.

Alcuni casi particolari: E se dovessimo accedere agli elementi di una lista? NA (Not Available) e NaN (Not a Number) valori numerici speciali.

Operazioni aritmetiche tra vettori

  • Addizione tra vettori conformabili
  • Addizione per uno scalare
  • Moltiplicazione per uno scalare
  • Addizione tra vettori non conformabili
  • Prodotto vettoriale: %*%

R esegue operazioni sia vettoriali che scalari. Se diamo il comando otteniamo il prodotto di uno scalare per un vettore. Creiamo ora un vettore della stessa lunghezza di y, contenente i numeri 1, 2, 3 e 4.

Otteniamo il prodotto scalare di y e z, ovvero il prodotto termine a termine degli elementi di y con gli elementi di z.

Se vogliamo ottenere il prodotto vettoriale di y e z si deve utilizzare l’operatore opportuno. R interpreta i vettori come vettori colonna. Per esempio, i prodotti del tipo T(yz) mentre se vogliamo ottenere T(z) dove il comando t(...) effettua la trasposizione di un vettore.

Factor

La funzione factor crea una variabile categoriale, dove le categorie non sono ordinate; per default vengono elencate in ordine alfabetico, oppure non decrescente. Il comando levels permette di definire l’ordine delle categorie.

Nel caso di variabili qualitative ordinali, dove le categorie devono essere ordinate secondo una precisa logica, è opportuno ricorrere alla funzione ordered. Si noti l’output che rende evidente l’ordine delle categorie/modalità (o dei livelli) della variabile. La funzione table permette di ottenere la distribuzione delle frequenze assolute di una variabile, ad esempio:

Data frame

Il data.frame è un oggetto di R che corrisponde all’accostamento di dati relativi a variabili di natura differente, tutte rilevate sulle stesse unità statistiche. Un data frame è una lista di variabili, tutte della stessa lunghezza. Una lista “pura” creata con il comando list() può contenere oggetti sia di natura diversa che di lunghezza diversa.

Subsetting di un data frame

Per selezionare righe di un data frame secondo determinati criteri si può ricorrere alla funzione subset. Per selezionare colonne di un data frame si può ricorrere alla funzione specificando l’opzione select invece che subset: Un altro modo per selezionare le colonne di un data frame è usare:

  • nome.data.frame$nome.colonna
  • nome.data.frame[[#colonna]]

Nel caso in cui il nome della colonna contenga spazi e/o punti usare:

nome.data.frame$"nome.colonna"

Combinando le funzionalità di subset

Ordinamento

  • di un vettore
  • di un data frame

Analisi grafica - Dati qualitativi

Si considerino i dati in tabella: Fornire un’appropriata descrizione di sintesi (grafica e tabellare) delle variabili:

  • Tipologia
  • Consegna a Domicilio
  • Classe di prezzo

Definiamo:

  • n: ampiezza campionaria
  • fi: frequenza assoluta della categoria i-esima, dove k corrisponde al numero di categorie distinte della variabile
  • pi=fi/n: frequenza relativa della categoria i-esima

Frequenze assolute e relative

  • Grafico a torta
  • Tipologia di ristorante
  • Tipologia di ristorante (dati in %)
  • Tipologia di ristorante (frequenze assolute)
  • Grafico a barre
  • Consegna a domicilio (1=sì; 0=no)

Analisi grafica - Dati quantitativi

Grafico a dispersione. Il comando plot()

Tipologia I Simboli

Analisi grafica dati quantitativi: dati discreti (con pochi valori)

Esempio: «Numero di auto possedute in famiglia», campione di 100 famiglie. I dati grezzi mostrano che la variabile assume solo 4 valori distinti (1,2,3,5). Come sintetizzare e rappresentare la variabile in modo appropriato?

  • Tabella della distribuzione di frequenza (sintesi tabellare di frequenze assolute, relative e cumulate)
  • Diagramma ad aste (rappresentazione grafica delle frequenze assolute o di quelle relative)
  • Diagramma a scalini (rappresentazione grafica delle frequenze cumulate, o funzione di ripartizione)

Definiamo:

  • n: ampiezza campionaria
  • fi: frequenza assoluta della categoria i-esima
  • pi=fi/n: frequenza relativa della categoria i-esima
  • Fi=∑ pi: frequenza cumulata relativa fino alla categoria i-esima

Diagramma ad aste

Diagramma a scalini

R permette di calcolare la funzione di ripartizione empirica dei dati tramite la funzione ecdf() (empirical cumulative distribution function)

Dati continui o discreti (molti) raggruppati in classi di uguale ampiezza

Oggetto: Numero di messaggi Whatsapp inviati il giorno di Natale, campione di 20 studenti. I dati grezzi mostrano che la variabile, di tipo discreto, presenta molte modalità (valori distinti):

Come sintetizzare e rappresentare la variabile in modo appropriato?

  • Dapprima è necessario raggruppare i dati in classi
  • Tabella della distribuzione di frequenza (frequenze assolute, relative e cumulate)
  • Istogramma (rappresentazione grafica delle frequenze relative o della densità di frequenza)
  • Funzione di ripartizione o ogiva (rappresentazione grafica delle frequenze cumulate)

Definiamo:

  • n: ampiezza campionaria
  • fi: frequenza assoluta della classe i-esima
  • pi=fi/n: frequenza relativa della classe i-esima
  • Fi=∑ pi: frequenza cumulata relativa fino alla classe i-esima
  • wi=xi+1−xi: ampiezza della classe i-esima
  • ci=pi/wi: densità di frequenza della classe i-esima

Nel caso si scelga di procedere con classi di uguale ampiezza, una possibile soluzione è la seguente: calcolo della densità di frequenza:

Istogramma

Rappresentazione delle frequenze relative o della densità di frequenza (con classi di UGUALE ampiezza è possibile scegliere quale delle due misure riportare sulle ordinate, ovvero frequenze relative oppure densità di frequenza). Si noti come la distribuzione è obliqua a sinistra.

Rappresentazione della funzione di ripartizione o ogiva

Esempio classi di diversa ampiezza. Nel caso di classi di diversa ampiezza è necessario riportare la densità di frequenza sulle ordinate dell’istogramma.

Istogramma con densità di frequenza

Rappresentazione corretta (area proporzionale alla frequenza)

La distribuzione è obliqua a destra.

Grafico per serie storiche

Indici di tendenza centrale su dati grezzi

Esempio: Variabile: Costo del biglietto aereo A/R per andare a Londra. Campione di n=5 osservazioni: 80,120,150,90.

Trovare media aritmetica, mediana e moda, il primo e il terzo quartile.

  • Moda: nessun valore si ripete (tutte le frequenze assolute sono pari a 1), perciò la moda non esiste!
  • Media:
  • Mediana: indica il 50esimo percentile delle osservazioni e viene spesso indicata con Q2
  • Il primo quartile indica il 25esimo percentile delle osservazioni e viene spesso indicato con Q1
  • Il terzo quartile indica il 75esimo percentile delle osservazioni e viene spesso indicato con Q3

Se la numerosità del campione è pari dà risultati leggermente diversi, in base all’algoritmo scelto da R per il calcolo dei quartili.

Il range e la differenza interquartile

Il range è la differenza tra il massimo e il minimo valore osservato.

Anteprima
Vedrai una selezione di 10 pagine su 69
Appunti completi ed esercitazioni - modulo R - Analisi Statistica Multivariata Pag. 1 Appunti completi ed esercitazioni - modulo R - Analisi Statistica Multivariata Pag. 2
Anteprima di 10 pagg. su 69.
Scarica il documento per vederlo tutto.
Appunti completi ed esercitazioni - modulo R - Analisi Statistica Multivariata Pag. 6
Anteprima di 10 pagg. su 69.
Scarica il documento per vederlo tutto.
Appunti completi ed esercitazioni - modulo R - Analisi Statistica Multivariata Pag. 11
Anteprima di 10 pagg. su 69.
Scarica il documento per vederlo tutto.
Appunti completi ed esercitazioni - modulo R - Analisi Statistica Multivariata Pag. 16
Anteprima di 10 pagg. su 69.
Scarica il documento per vederlo tutto.
Appunti completi ed esercitazioni - modulo R - Analisi Statistica Multivariata Pag. 21
Anteprima di 10 pagg. su 69.
Scarica il documento per vederlo tutto.
Appunti completi ed esercitazioni - modulo R - Analisi Statistica Multivariata Pag. 26
Anteprima di 10 pagg. su 69.
Scarica il documento per vederlo tutto.
Appunti completi ed esercitazioni - modulo R - Analisi Statistica Multivariata Pag. 31
Anteprima di 10 pagg. su 69.
Scarica il documento per vederlo tutto.
Appunti completi ed esercitazioni - modulo R - Analisi Statistica Multivariata Pag. 36
Anteprima di 10 pagg. su 69.
Scarica il documento per vederlo tutto.
Appunti completi ed esercitazioni - modulo R - Analisi Statistica Multivariata Pag. 41
1 su 69
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze economiche e statistiche SECS-S/01 Statistica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher aina.belloni di informazioni apprese con la frequenza delle lezioni di Analisi statistica multivariata e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Milano - Bicocca o del prof Lunardon Nicola.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community