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.
vuoi
o PayPal
tutte le volte che vuoi
FARE TABELLE IN R
Apri su Excel 02e3GreatTitMalaria. Vai su R (no Rcmdr) e fai una TABELLA DI CONTINGENZA.
malaria <- matrix (c(7, 28, 15, 15))
Dopo aver creato la matrice “malaria” rinominiamo le righe (rownames) e le colonne (colnames) in modo
da ottenere una tabella:
rownames (malaria) <- c(“cont”, “egg”)
Le righe sono state rinominate “cont” e “egg”.
colnames (malaria) <- c(“malaria”, “non_malaria”)
Le colonne sono state rinominate “malaria” e “non_malaria”. Possiamo creare un mosaicplot
mosaicplot(malaria)
E modificarlo per averlo di uno o più colori:
mosaicplot(malaria, col= c (”blue”, “red”))
Se voglio invertire i colori e avere i casi di malaria in rosso
mosaicplot(malaria, col= c (”red”, “blue”))
Esercitazione 4
Ci mancano i plot delle medie (R li chiama così). I grafici delle medie mettono a confronto valore di posizione
centrale e misura di variabilità (puoi mettere dev. standard, errore standard o intervallo di confidenza). Carica
spiderrunning (03). Dati, set dati attivo, variabili concatenate.
Grafici, grafico delle medie, opzioni-seleziona deviazione standard. Il grafico mette a confronto media (punto
nero) e deviazione standard di speed.before con speed.after.
with(spiderS, plotMeans(speed, treat, error.bars="sd", connect=TRUE))
Il comando è plotMeans, error.bars mi chiede che errore voglio, noi abbiamo messo deviazione standard,
connect mi dice se voglio connettere le due medie o no. connect=true serve se voglio collegare con la linea le
due variabili.
Ora carica i dati della directory 02 sulle linci. I dati sono il numero di linci in ogni anno dal 1752 al 1819. Fai
grafico a linee, asse x=data (tempo) asse y=numero di linci. Grafico a linee:
with(Linci, lineplot(date, no.pelts))
Il comando è lineplot(x,y) usando i dati di Linci.
Ora vediamo come fare i grafici da zero e modificarli a piacere. Il comando di base è “plot”, permette di fare
scatterplot, lineplot, boxplot. Dobbiamo dire che dataset stiamo usando quindi usiamo il comando with:
with(Linci, plot(x=date, y=no.pelts))
Per collegarli con linee:
with(Linci,plot(x=datay=no.pelts, type=”l”))
type=l significa che mette solo la linea.
with(Linci,plot(x=datay=no.pelts, type=B))
type=b sta per both (sia linee che punti)
cex= aumenta la dimensione dei punti.
with(lince, plot(x=date, y=no.pelts, cex=2))
Per modificare le linee, lwd= aumentare spessore della linea.
with(Linci, plot(x=date, y=no.pelts, type="l", lwd=2))
lyt=linea tratteggiata
with(Linci, plot(x=date, y=no.pelts, type="l", lty=2))
Per creare solo lo spazio grafico senza niente:
with(Linci, plot(x=date, y=no.pelts, type="n"))
type=”n” mi da solo gli assi (n=nulla)
with(Linci, plot(x=date, y=no.pelts, type="n", axes=FALSE))
axes=FALSE toglie gli assi. Se voglio aggiungere assi:
axis(1) mi mette solo asse delle x
axis(2) mi mette anche asse y
with(lince, points(x=date, y=no.pelts, col="red"))
Faccio solo punti di colore rosso.
with(lince, lines(x=date, y=no.pelts, col="blue"))
Faccio solo linee di colore blu.
box()
Riquadra il grafico.
pch=x è comando per cambiare il tipo di dot. Ad ogni numero x corrisponde un tipo di dot.
Vedi tutti i tipi di dot con il comando: help(points)
Per aggiungerci i punti:
with(Linci, points(x=date, y=no.pelts))
Per creare gli assi ed avere nell’asse delle x solo le date 1750, 1780, 1810:
with(Linci, plot(x=date, y=no.pelts, type="n", axes=FALSE))
axis(1, at=c(1750,1780,1810))
axis(2)
In questo caso abbiamo deciso solo i valori dell’asse delle x. Possiamo anche decidere i limiti dell’asse delle
x con xlim:
>with(lince, plot(x=date, y=no.plots, type="n", axes=FALSE, xlim=(1600, 1900)))
con ylim cambiamo invece quelli dell’asse delle y.
Ora metto un limite sull’asse delle x, coloro il contorno dei punti di rosso e con pch=19 li riempio di rosso.
>with(Linci, plot(x=date, y=no.pelts, type="n", xlim=c(1600, 1900)))
>with(Linci, points(x=date, y=no.pelts, col="red"))
>with(Linci, points(x=date, y=no.pelts, col="red", pch=19))
File ragni: calcola la media di ciascun gruppo, speed.after e speed.before. Dobbiamo filtrare i nostri dati
selezionando quelli che corrispondono a un certo criterio.
>View (Spiderstack)
Ti fa vedere la tabella con speed.after e before mischiati. Per avere la media di tutti i valori della colonna
speed (sia after che before):
>mean(Spiderstack$speed)
Significa fai la media all’interno dei dati di Spiderstack della colonna speed. Se voglio solo after, siccome i
primi 16 valori sono after:
>mean(Spiderstack$speed[1:16])
Se vuoi salvare la media ottenuta per riusarla in seguito:
>Mean.after <- mean(Spiderstack$speed[1:16])
Posso farlo anche per i before che vanno da 17 a 32.
>Mean.before <- mean(Spiderstack$speed[17:32])
Se la richiamo:
>Mean.before
[1] 2.668125
Se voglio la deviazione standard:
>SD.before <- sd(Spiderstack$speed[17:32])
>SD.before
[1] 0.64155
Per mettere all’interno di uno stesso vettore le due medie salvate:
>Mean <- c(3.85375, 2.668125)
>Mean
[1] 3.85375 2.668125
Puoi fare la stessa cosa per le deviazioni standard chiamandola per esempio Std.dev e poi calcolare l’errore
standard chiamandolo Std.err:
>Std.err <- Std.dev/4
Se metti ^1/2 ti fa la radice quadrata.
Per fare l’intervallo di confidenza:
>L1 <- Mean-1.96*Std.err
>L2 <- Mean+1.96*Std.err
Se richiami L1 ti dà i valori per after e before con il meno, se richiami L2 ti dà quelli con il +.
Il grafico plot ha bisogno di una x e di una y. Se metto solo:
>plot(Mean)
mi prende i valori del vettore Mean come y.
>plot(y=Mean, x=c(1.5, 1.8), xlim=(1.25, 2))
L’asse y ha come level Mean che abbiamo calcolato, l’asse x va da 1.25 a 2 grazie alla funzione xlim, i punti
rappresentati nel grafico sono 1.5 e 1.8, che sono le medie.
Per rimuovere gli assi:
>plot(y=Mean, x=c(1.5, 1.8), xlim=(1.25, 2), axes=FALSE)
E posso ridisegnare come voglio:
Asse x=1
Asse y=2
Asse x in alto=3
Asse y a destra=4
>axis(1)
Mi dà l’asse delle x e basta, se voglio gli altri assi devo mettere i loro numeri. Axis aggiunge qualcosa a una
finestra grafica già aperta, a cui io ho precedentemente tolto gli assi. E ora metto solo asse x ma con indicatori
soltanto nei punti 1.5 e 1.8, che chiamo Before ed After:
>axis(1, at=c(1.5, 1.8), label=c(“Before”, “After”)
Siccome gli abbiamo dato il comando label, sostituisce ai valori 1.5 e 1.8 “Before” e “After” e l’asse delle x
viene:
Esercitazione 5
Disegniamo un grafico con rappresentatala media e due segmenti verticali, sopra e sotto, che rappresentano
la deviazione standard, quindi la dispersione dei dati. Questi grafici hanno bisogno di 4 coordinate: x1-x2 (che
saranno uguali perché il segmento è verticale), y1-y2. Per farlo possiamo o dividerlo e fare prima il segmento
tra media e media-dev.st e poi il secondo, oppure tutto insieme.
Metto asse delle y fino a 6:
plot(y=Mean, x=c(1.5, 1.8),xlim=c(1.25,2), ylim=c(0.5,6))
e poi:
segments(x0=c(1.5, 1.8), y0=Mean-Std.dev, x1=c(1.5, 1.8), y1=Mean+Std.dev)
In questo modo per ogni punto di media traccio un segmento che va dalla media al punto (media-SD) e un
altro segmento che va dalla media al punto(media+SD).
Comando segments disegna solo il segmento.
Comando arrows disegna anche la freccia alla fine del segmento. Questo comando ha un argomento che
permette di variare l’angolo formato dalla punta della freccia. Se metto angolo=90° ottengo un segmento
con la barretta orizzontale finale.
Possiamo farlo con l’intervallo di confidenza invece che con la dev. Standard mettendo L1 (L1 e L2 sono il
limite superiore e il limite inferiore dei due intervalli calcolati nell’esercitazione 4). E per distinguerli
dall’altro segmento li faccio più spessi.
segments(x0=c(1.5, 1.8), y0=L1, x1=c(1.5, 1.8), y1=L2, lwd=3)
La funzione pch serve per modificare i simboli. Adesso rinomino gli assi e aggiungo pch=19 per avere il
pallino centrale della media pieno e nero:
plot(y=Mean, x=c(1.5, 1.8), xlim=(1.25, 2), axes=FALSE, xlab=”Treat”, ylab=”Speed”, pch=19)
Invece con i comandi:
segments(x0=c(1.5,1.8), y0=Mean-Std.dev, x1=c(1.5,1.8),y1=Mean+Std.dev)
segments(x0=c(1.5, 1.8), y0=L1, x1=c(1.5, 1.8),y1=L2,lwd=3)
Ottengo:
arrows(x0=c(1.5,1.8), y0=Mean-Std.dev, x1=c(1.5,1.8),y1=Mean+Std.dev, angle=90, code=3)
code=3 consente di mettere la freccia (che ha angolo di 90° e quindi è diventata una barra!!) ad entrambe
le estremità dei segmenti. Ottengo:
Distribuzioni – Distribuzioni continue-Distribuzione normale - quantili della normale. Per avere solo la coda
a destra della curva normale:
Probabilità: 97,5 (Che sarebbe 95+2,5%)
Vai su disegna distribuzione normale. Vuoi evidenziare gli estremi (-1,96, 1.96).
Questa distribuzione ha il codice associato che si può copiare su R. Non ci sarà nel compito ma serve a noi
per visualizzare questi grafici, anche quello del chi-quadro.
Ora prendi i dati da Dati –> dati presenti nei pacchetti – > CarData –> Chile
Rnorm(10) un comando che prende a caso 10 valori da una distribuzione normale.
>length(x>0)
[1] 10
Il comando sum ti conta i veri, TRUE=1 FALSE=0.
> sum(x)
[1] -3.670161
> x[xL]
[1] 0.55974506 0.82782814 0.01191032 0.36061357
> x[x>0]
[1] 0.55974506 0.82782814 0.01191032 0.36061357
ESERCIZIO:
Estrai i valori di speed solo per speed.after.
Gli abbiamo detto di rendere valori dalla colonna speed (del data frame spiderstack) che corrispondono a
“speed.after” per la variabile treat.
Si usano due uguali perché in R l’uguale è sinonimo di assegna, quindi per indicare l’uguale logico bisogna
metterne due. Se metto != invece vuol dire “non uguale” quindi mi dà i valori di speed.before. Posso fare la
media di tutto questo:
Prendere valori dalla colonna speed (del data frame spiderstack) che NON corrispondono a “speed.after”
per la variabile treat:
> spiderstack$speed[spiderstack$treat!="speed.after"]
[1] 1.25 2.94 2.38 3.09 3.41 3.00 2.31 2.93 2.98 3.55 2.84 1.64 3.22 2.87 2.37
[16] 1.91
> mean(spiderstack$speed[spiderstack$treat!="speed.after"])
[1] 2.668125
Esercitazione 6
Vogliamo vedere se gli osservati sono diversi dalle attese.
Statistiche -> Proporzioni
Considera solo il sesso di Chile come variabile. E&rsq