Le 4 Finestre di RStudio
RStudio ha 4 finestre:
1. FINESTRA CONSOLE (O DI COMANDO)
Qui è possibile digitare dei comandi dopo il simbolo ed R eseguirà il comando.
>
FINESTRA EDITOR
2. 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:
appare una pagina web off–line dalla quale si accede ai manuali e ad informazioni
help.start()
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) .
Ad esempio:
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
o
Gli operatori
Gli operatori aritmetici di base sono i seguenti: Gli operatori sono i seguenti:
relazionali
• •
(addizione) (uguale)
x+y x==y
• •
(sottrazione) (maggiore o uguale)
x-y x>=y
• •
(moltiplicazione) (minore o uguale)
x*y x<=y
• •
(divisione) (maggiore)
x/y x>y
• •
a potenza) (minore)
x^y x<y
(elevamento • (diverso)
x!=y
Gli operatori logici sono i seguenti:
• (AND logico)
x&y
• (OR logico)
x|y
• (NOT logico)
x!y
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 Quest’ultimo chiarisce
?funzione help(funzione)
o .
tutti gli argomenti richiesti dalla funzione, il loro nome, il loro ordine, quelli necessari e quelli
opzionali, ovvero quelli per cui un valore di default è già impostato.
Tra le funzioni matematiche, di seguito un elenco (non esaustivo):
• absolute value and 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()
,
• to nearest
round() signif()
, rounding
• rounding up and down
ceiling() floor()
, e
in R è una costante predefinita corrispondente al numero pi–greco; mentre il numero
pi
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 è oppure Ad esempio,
help(comando) ?comando .
digitando si ottiene una descrizione della funzione, i possibili argomenti e i valori utilizzati di
?log ,
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 (oppure anche ), prestando
<- = ->
attenzione, nel momento in cui si decide di creare un oggetto, ad eventuali oggetti preesistenti,
che 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
Si tratta di espressioni equivalenti!
La variabile appare nella finestra Ciò significa che R ha memorizzato l’oggetto . A
environment .
x x
questo punto, digitando nella Console , R mostra nell’output il suo contenuto:
x
Si può usare per eseguire qualche calcolo, ad esempio per calcolare la circonferenza di un cerchio
x
di raggio :
x
Se si definisce nuovamente R dimenticherà quale valore aveva in precedenza. E’ importante
x ,
sapere che R è un linguaggio ovvero distingue le lettere maiuscole dalle minuscole.
case-sensitive,
E’ anche possibile assegnare ad un nuovo valore utilizzando quello vecchio:
x
E’ possibile costruire una nuova variabile che è funzione di , ad esempio:
y x
Per vedere l’elenco di tutti gli oggetti presenti nel workspace (memoria di lavoro)
Per rimuove la variabile dalla memoria di R, si può utilzzare la funzione rm(...) :
y
Per rimuove tutte le variabili dalla memoria di R, basta cliccare il pulsante nella finestra
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 definita in
x
precedenza è uno scalare. Per creare un vettore contenente i numeri 2, 7, 4 e 1 è necessario
y
ricorrere alla funzione per concatenare gli elementi (separati dalla ) che vengono forniti
c(...) ,
come argomento.
Si noti che R precede l’output con per indicare a cosa corrisponde il primo elemento del
[1]
vettore . È chiaro che 7, 4, e 1 sono, rispettivamente, il secondo, il terzo e il quarto elemento di .
y 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 oppure agli elementi con indice i, j e k attraverso
[i] [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 escludendo alcuni indici:
y
• attraverso una selezione true/false
• ricorrendo alla funzione Per esempio, se vogliamo sapere quali sono gli indici
which(...) .
corrispondenti agli elementi di y maggiori di 1:
quindi per ottenere gli elementi di maggiori di 1:
y
La funzione richiede come argomento un vettore di tipo logico, e restituisce gli
which(...)
indici di un vettore i cui elementi contengono l’oggetto Il simbolo assieme a
TRUE TRUE
.
sono gli unici due risultati di una condizione logica come Si noti quanto segue
FALSE y > 1 .
restituisce un vettore di ‘vero/falso’ che passato alla funzione restituisce gli indici
which()
del vettore corrispondenti a TRUE :
È possibile considerare condizioni logiche più complicate. Ad esempio, se vogliamo sapere
quali sono gli indici corrispondenti agli elementi di compresi tra 1 incluso e 5 escluso
y
• per nome
Alcuni casi particolari:
E se dovessimo accedere agli elementi di una lista?
NA (NotAvailable) e NaN (NotaNumber)
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
z
lunghezza di , contenente i numeri 1, 2, 3 e 4.
y
otteniamo il prodotto scalare di e , ovvero il prodotto termine a termine degli elementi di con
y z y
gli elementi di .
z
Se vogliamo ottenere il prodotto vettoriale di e si deve utilizzare l’operatore opportuno. R
y z y z
interpreta i vettori come vettori colonna. Per esempio, i prodotti del tipo si scrivono
T
yz
mentre se vogliamo ottenere T
dove il comando effettua la trasposizione di un vettore.
t(...)
Factor
La funzione crea una variabile categoriale, dove le categorie non sono ordinate, per
factor
default vengono elencate in ordine alfabetico, oppure non decrescente.
permette di definire l’ordine delle categorie:
levels
Il comando
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
Levels: low < medium < high ,
categorie/modalità (o dei livelli) della variabile
La funzione permette di ottenere la distribuzione delle frequenze assolute di una variabile,
table
ad esempio:
Data.frame
Il è un oggetto di R che corrisponde all’accostamento di dati relativi a variabili di
data.frame
natura differente, tutte rilevate sulle stesse unità statistiche df = data.frame(var1, var2, ...) .
Un data.frame è una lista di variabili, tutte della stessa lunghezza
• Una lista “pura” creata con il comando può contenere
list() vector(mode="list")
o
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
Per selezionare colonne di un data.frame si può ricorrere alla funzione specificando
subset
l’opzione invece che
select subset :
Un altro modo per selezionare le colonne di un data.frame è usare
nome.data.frame$nome.colonna nome.data.frame[[#colonna]]
o
• 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 i (i=1,…,k) k
• fi: frequenza assoluta della categoria -esima , dove corrisponde al numero di
categorie distinte della variabile i
• pi=fi/n: frequenza relativa della categoria -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
f i
• : frequenza assoluta della categoria -esima
i
p =f /n i
• : frequenza relativa della categoria -esima
i i
F =∑ p i
• : frequenza cumulata relativa fino alla categoria -esima
i r≤i r
Diagramma ad aste
Diagramma a scalini ecdf()
R permette di calcolare la funzione di ripartizione empirica dei dati tramite la funzione
(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
f
• : frequenza assoluta della classe i-esima
i
p =f /n
• : frequenza relativa della classe i-esima
i i
F =∑ p
• : frequenza cumulata relativa fino alla classe i-esima
i r≤i r
w =x −x
• : ampiezza della classe i-esima
i i+1 i
c =p /w
• : densità di frequenza della classe i-esima
i i i
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)
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 selto
R
per il calcolo dei quartili.
Il range e la differenza interquartile
Il range è la differenza tra il massimo e il minimo valore osservato, m
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Appunti Completi di R - Analisi Statistica Multivariata
-
Appunti schematici di Analisi statistica multivariata - modulo R
-
Analisi Statistica Multivariata - Modulo R
-
Analisi statistica multivariata - Modulo R