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.
vuoi
o PayPal
tutte le volte che vuoi
LAB 1
CREARE NUOVO PROGETTO
R version 4.0.3 (2020-10-10) -- "Bunny-Wunnies Freak Out"
Copyright (C) 2020 The R Foundation for Statistical Computing
Platform: x86_64-w64-mingw32/x64 (64-bit)
R è un software libero ed è rilasciato senza alcuna garanzia.
Si tratta di un software per modificabili, ma sotto certe condizioni.
Scrivi 'license()' o 'licenze()' per dettagli su come distribuirlo.
R è un progetto di collaborazione con molti contributori.
Scrivi 'contributors()' per aggetei informazioni, 'citation()'
per sapere come citare R o i pacchetti.
Scrivi 'demo()' per una dimostrazione,
'help()' oppure '?' per l'aiuto navigabile con browser HTML,
scrivi 'q()' per uscire da R.
IMPORTARE DATI DA UN FILE ESTERNO NELL'ENVIRONMENT
- x un file .csv
- x un file .xls (excel)
Per leggere il contenuto del file importato:
str (you)perché prima
you=read.csv("file.csv")SALVARE
Se chiudo con [X] senza salvare
Oppure digitare save.image()
cbind(freq.ass., freq.rel., freq.perc.) -> mettere tutto insieme in una tabella
dist.frequenze=addmargins(dist.frequenze,margin=1)
per aggiungere i totali
GRAFICI UTILI
DIAGRAMMA A BARRE
barplot(table(you$variabile)) -> viene visualizzato nei plots
DIAGRAMMA A TORTA
pie(table(you$variabile))
OPZIONI DI GRAFICA
?par -> panoramica su tutte le opzioni grafiche
Cambiare colore
boxplot(table(you$variabile)), col=c("pink","lightblue")
colors() + invio -> vedi tutti i colori disponibili
aggiungere titolo e sottotitolo
boxplot(table(you$variabile), main="distribuzioni di frequenze")
TITOLO
boxplot(table(you$variabile), main="distrib.digen", sub="variabile::sesso")
SOTTOTITOLO
Posizionare barre in orizzontale
tutto quello di prima + horiz=T
cambiare l'ampiezza asse
tutto quello di prima + xlim=c(0,a) o ylim=c(0,a)
Histogram of YOU$eta
- Stiamo partendo nuovamente dalla distribuzione disaggregata della variabile eta.
- Non abbiamo avuto bisogno (o voglia?) di specificare delle classi e quindi R ha usato delle classi di default.
Le classi di default sono equiampie e quindi nel grafico che abbiamo ottenuto abbiamo le Frequenze sull'asse delle ordinate. In effetti, come sappiamo, in questo caso c'è proporzionalità tra le frequenze nj e le densità di frequenza h = nj/gj, perché le gj sono uguali per ogni j = 1,..., k. Se però vogliamo mostrare h e le Densità di frequenza possiamo usare l'argomento aggiuntivo freq = FALSE
Histogram of YOU$eta
e ovviamente otteniamo un grafico identico a meno della scala. Per la precisione, notiamo ancora che in effetti sull'asse y vengono rappresentate le Densità di frequenza relative, i.e., Nj/N = nj/n'gj
Se invece decidiamo di specificare classi di ampiezza differente, grazie all'argomento breaks = c(..., ..., ...), il automatico otteniamo correlatamente l'istogramma di densità:
breaks = c(17.5, 18, 20, 25, 30)LABORATORIO 4 - R
MEDIA ARITHMETICA
assegno la variabile ad un oggetto
x <- Paesi_del_mondo$Popolazione## [1] 1359 10000 600 13100 55200 1300 959 28200 2900## [10] 28600 98100 3300 8400 8700 6667 43900 29800 19800## [19] 9100 3390 256 7900 156600 14000 35600 3300 11100## [28] 10700 5800 10300 6500 5600 91800 4100 2600 5200## [37] 23650 7800 3200 20600 225500 11500 100000 1205200 23100## [46] 45000 698900 125500 8600 911600 199700 19500 128100 2900## [55] 59400 20944 73100 10300 4600 8900 4900 1600 5500## [64] 37100 98100 38600 104200 23400 149200 51800 10500 18000## [73] 3700 7400 600 6000 2800 3961 65600 19900 5400## [82] 11800 36200 5500 1900 149800 62200 22600 17800 8000## [91] 10100 5200 5100 58000 121000 58400 10400 3600## [100] 260 5810 4300 3524 15400 10500 39200 260800 8800## [109] 7000calcolo la media
mean(x)## [1] 47723.88o volendo creare un nuovo oggetto contenente la media aritmetica μμ :
mu = mean(x)mu## [1] 47723.88questo corrisponde a fare:
sum(x) / length(x)somma delle x tot. delle x
Verifica che la media aritmetica si ottiene come media ponderata delle medie per regione con pesi espressi dalle numerosità dei singoli sottogruppi N.regioni.
mu## [1] 47723.88sum(N.regioni*medie.per.regione)/sum(N.regioni1)## [1] 47723.88mu == sum(N.regioni1*medie.per.regione)/sum(N.regioni1)## [1] TRUELa media non è robusta rispetto alla presenza di valori anomali
Osserviamo un grafico brutale dei nostri dati
plot(x)Mi chiedo se ci sono dei valori molto grandi
CRITERIO DELLA MINIMA PERDITA
La media aritmetica è un centro di ordine 2.
La media aritmetica è il valore che minimizza la somma dei quadrati degli scarti.
Per verificare esplicitamente questa proprietà costruiamo una griglia di valori generici C.
c = seq(from = mu-100, to = mu+100, by = 5)Ora per ogni valore di C calcoliamo la somma degli scarti al quadrato (con un ciclo for)
# inizializziamo un vettore di NA# lungo quanto è lunga la sequenza contenuta in cscarti.c = rep(NA,length(c))# per ciascun valore della sequenzafor (i in 1:length(c)){ # calcoliamo la somma dei quadrati degli scarti scarti.c[i] = sum((x-c[i])^2)}Infine generiamo un grafico per gli scarti
plot(c,scarti.c, pch = 19) # colore puntinipoints(mu,scarti.c[c==mu], col = "green", pch = 19)questa par è sicuramente diversa dalla MEDIA per DISTRIBUZIONI
DISAGGREGATE
quindi ricordiamo che:
- se abbiamo a disposizione la distribuzione per unità calcoliamo la media sui dati disaggregati
- se abbiamo a disposizione solo la distribuzione di frequenze in classi non possiamo fare altro che usare la formula approssimata
Media ponderata
prendiamo in considerazione la variabile pil.pro.capite
z = Paesi_del_mondo$Pil.pro.capitezper calcolare il pil pro capite medio del mondo bisogna fare la
media ponderata del pil pro capite di ciascun paese con pesi dati dalla popolazione
w = Paesi_del_mondo$Popolazionemedia.ponderata = sum(z * w) / sum(w)media.ponderata## [1] 225.0353IMPORTANTE! questo è è diverso da:
mean(Paesi_del_mondo$Pil.pro.capite)## [1] 111.3507LAB 5
Mediana
- estraiamo la variabile su cui calcolare la mediana
x = Paesi_del_mondo$Popolazione
- calcoliamo la mediana
median(x)
## [1] 10400
questo equivale a fare i seguenti passaggi:
# a. partiamo dalla distribuzione per unità di Xx# b. mettiamo in ordine i valori?sorty = sort(x)# c. distinguiamo i due casi: N pari e N dispariN = length(x)# poiché in questo caso N è dispari# la mediana Me è il valore di x che occupa il posto (n+1)/2 nel vettore ordinato(N+1)/2Robustezza della Mediana
Nel lab precedente abbiamo visto che se rimuoviamo i due valori più grandi della popolazione la MEDIA ARITMETICA subisce una notevole variazione. La MEDIANA invece cambia pochissimo poiché non dipende dai valori ma dalla posizione che questi hanno nel vettore ordinato
median(Paesi_del_mondo$Popolazione)
## [1] 10400
median(Paesi.ridotto$Popolazione)
## [1] 10300