tag:blogger.com,1999:blog-25896934704518838732024-03-26T17:00:38.735+01:00Statistica con R<img src="http://img130.imageshack.us/img130/4771/sta2u.jpg"><br>
Esercizi di statistica descrittiva e di verifica delle ipotesi risolti e commentati con RTodos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.comBlogger66125tag:blogger.com,1999:blog-2589693470451883873.post-76417443710740406702014-02-02T13:07:00.001+01:002014-02-02T13:08:19.886+01:00Boxplot con media e deviazione standardQuando si crea un boxplot in R, automaticamente vengono rappresentati graficamente la mediana, il primo e terzo quartile (i due "hinges", ossia gli estremi del rettangolo) e l'intervallo di confidenza al 95% della mediana (gli estremi dei "notches", ossia le linee).
Tuttavia possiamo voler rappresentare graficamente la media, la deviazione standard (media + DS, media - DS) e i valori massimo eTodos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com8tag:blogger.com,1999:blog-2589693470451883873.post-11191580710679733442011-10-31T10:58:00.007+01:002011-10-31T11:08:45.677+01:00Cochran Q Test in R (Nonparametric Test for Categorical Data)Il Cochran Q test è un test non parametrico sviluppato per l'analisi di valori nominali. L'ipotesi che si vuole testare è: nel dataset costituito da k (k maggiore o uguale a 2) campioni dipendenti, esistono almeno due campioni che provengono da differenti popolazioni?Il test Q di Cochran rappresenta una estensione del test di McNemar, il quale può essere applicato con analoghi risultati quando k Todos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com4tag:blogger.com,1999:blog-2589693470451883873.post-40900129407363925642011-10-30T10:44:00.012+01:002011-10-30T12:07:00.003+01:00Test di Friedman: confronti multipli non parametriciIl test di Friedman viene usato per comparare tra loro più di due campioni dipendenti, in termini di popolazione. Il confronto che viene fatto si basa sulla mediana della popolazione.La statistica test (Fr) viene calcolata con le seguenti due formule.La prima si applica se non ci sono ripetizioni, mentre la seconda nel caso in cui ci sono ripetizioni nella assegnazione del rango.Nella formula, n Todos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com8tag:blogger.com,1999:blog-2589693470451883873.post-77006639484265835292011-09-17T23:06:00.004+02:002011-09-17T23:27:08.376+02:00CDC Growth Charts implementate in RCon gran fatica e sudore, sono riuscito a implementare l'intero set di Growth Charts messo a disposizione dalla CDC (Centers for Disease Control and Prevention).Volendo evitare di riscrivere (e cercare nuovamente i links perduti dei vari documenti/codici), rinvio alla lettura del mio post inglese....Implementation of the CDC Growth Charts in RPer qualsiasi commento, proposta, potete scrivere su Todos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com2tag:blogger.com,1999:blog-2589693470451883873.post-43099825513036674332011-09-07T17:07:00.003+02:002011-09-07T17:15:10.383+02:00R è anche un ottimo sound editor!Ebbene sì, le capacità di R! Sono sempre più convinto che possa essere un ottimo concorrente del ben più noto MatLab.Per divertimento, ho creato una funzione, che riceve in input una sequenza di numeri, e come output produre la melodia che potreste udire, digitando la stessa sequenza con il vostro telefon di casa! =)Supporta anche le lettere A, B, C, D, e i simboli * e #.Questa funzione richiede Todos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com2tag:blogger.com,1999:blog-2589693470451883873.post-82306226283417166002011-08-29T11:20:00.002+02:002011-08-29T11:25:08.097+02:00R is a cool image editor #2: Dithering algorithmsHo implementato in R alcuni algoritmi per il "dithering" delle immagini (un buon articolo introduttivo è disponibile su WikiPedia):
- Floyd-Steinberg dithering
- Bill Atkinson dithering
- Jarvis-Judice-Ninke dithering
- Sierra 2-4a dithering filter
- Stucki dithering
- Burkes dithering
- Sierra2 dithering
- Sierra3 dithering
Per ciascun algoritmo, sono presenti due funzioni. La prima consiste Todos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com0tag:blogger.com,1999:blog-2589693470451883873.post-29957360233354604392011-08-26T06:17:00.002+02:002011-08-26T06:20:04.232+02:00Legge di Benford, o legge della prima cifraLa distribuzione di Benford meglio nota come legge di Benford o legge della prima cifra è una distribuzione di probabilità che descrive la probabilità che un numero presente in molte raccolte di dati reali (p.es. popolazione dei comuni, quotazione delle azioni, costanti fisiche o matematiche, numero di strade esistenti nelle località) cominci con una data cifra, ad esempio "1", che secondo questaTodos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com0tag:blogger.com,1999:blog-2589693470451883873.post-34353308287129007972011-06-16T09:45:00.004+02:002017-05-27T08:24:20.394+02:00Creare un grafico in R con la retta di regressione e le distanze dei puntix <- c(173, 169, 176, 166, 161, 164, 160, 158, 180, 187)y <- c(80, 68, 72, 75, 70, 65, 62, 60, 85, 92)# plottiamo i punti e la retta di regressionemod1 <- lm(y ~ x)plot(x, y, xlim=c(min(x)-5, max(x)+5), ylim=c(min(y)-10, max(y)+10))abline(mod1, lwd=2)# calcoliamo (e approssimiamo) i residui e i valori predictedres <- signif(residuals(mod1), 5)pre <- predict(mod1)# tracciamo i segmenti di distanzaTodos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com3tag:blogger.com,1999:blog-2589693470451883873.post-22086790672379411952010-11-07T12:26:00.002+01:002010-11-07T12:27:58.905+01:00R is a cool image editor!Ecco qualche funzione per ricreare alcuni dei più famosi effetti da applicare sulle immagini, disponibili nella gran parte degli editor (Photoshop incluso)Per poter caricare e modificare le immagini, è necessario installare la library rimage.Per caricare una immagina, il codice è il seguente:y <- read.jpeg("path")Per plottare l'immagine, usiamo invece:plot(y)Original Todos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com4tag:blogger.com,1999:blog-2589693470451883873.post-57368174528387378062010-10-19T19:32:00.004+02:002010-10-19T19:59:57.460+02:00Inversione veloce di matrici: Strassen #2In maniera molto simile a quanto è stato fatto per creare una funzione per eseguire velocemente moltiplicazioni tra grandi matrici con l'algoritmo di Strassen (vedi post precedente), scriviamo adesso funzioni per calcolare velocemente l'inversa di una matrice.Per evitare di scrivere pagine e pagine di commenti e formule, come ho fatto per la moltiplicazione tra matrici, questa volta posto Todos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com1tag:blogger.com,1999:blog-2589693470451883873.post-59990521527081952212010-10-18T08:36:00.005+02:002010-10-18T22:08:11.447+02:00Moltiplicazione veloce tra matrici: algoritmo di StrassenNel pdf qui sotto ho implementato una prima versione dell'algoritmo di Strassen in R, utile per svolgere rapidamente moltiplicazioni tra matrici.Il codice è sicuramente da rivedere, e perfezionare, però può essere un utile inizio per una implementazione migliore.Vorrei ringraziare l'utente G. Grothendieck per avermi suggerito un modo per creare matrici quadrate più grandi partendo da matrici più Todos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com0tag:blogger.com,1999:blog-2589693470451883873.post-13743557788059816612010-10-06T12:31:00.005+02:002011-09-27T08:49:54.922+02:00Conversione numeri decimali in IEEE-754-32bitPer un pò di teoria sullo standard IEEE-754 rimando alla pagina di Wikipedia. Qui posto solamente la funzione per effettuare la conversione in R.Innanzitutto scriviamo alcune funzioni per eseguire la conversione dei numeri decimali in numeri binari:decInt_to_8bit <- function(x, precs) {q <- c()r <- c()xx <- c()for(i in 1:precs){xx[1] <- xq[i] <- xx[i] %/% 2r[i] <- xx[i] %% 2xx[i+1] <- q[i]}rr <- Todos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com0tag:blogger.com,1999:blog-2589693470451883873.post-6205585294209480052010-10-02T11:27:00.001+02:002010-10-02T11:28:37.872+02:00Regressione polinomiale #2Ho già parlato della regressione polinomiale in un mio post precedente, dove ho focalizzato l'attenzione essenzialmente sui comandi da dare ad R, e sulla rappresentazione grafica dei modelli.Ho deciso di scrivere un secondo post sullo stesso argomento per spiegare il procedimento formale per ottenere il modello, dando un forte rilievo ai calcoli manuali (più volte nel mio blog ho dato questa Todos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com0tag:blogger.com,1999:blog-2589693470451883873.post-73095322699288792012010-10-01T13:07:00.003+02:002010-10-01T20:23:12.189+02:00Decomposizione LU di una matriceIl pane quotidiano della statistica è l'algebra lineare, e in particolare l'algebra delle matrici. Risulta pertanto fondamentale avere delle basi dei metodi utilizzati per poter apprendere a pieno i procedimenti.In questo post voglio condividere un file pdf che ho scritto, per la soluzione di sistemi di equazioni con il metodo della decomposizione LU (o di Doolittle).Ho cercato di descrivere Todos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com1tag:blogger.com,1999:blog-2589693470451883873.post-3551255066501229222010-09-17T16:27:00.004+02:002010-09-17T22:36:47.678+02:00Come visualizzare il codice delle funzioni di RSpesso ho avuto la necessità di esaminare il codice di una funzione di R, per studiare come essa funziona.In genere è sufficiente digitare il nome della funzione, senza parentesi o altri parametri per visualizzarlo sulla console di R, ma non sempre questo è sufficiente.Consideriamo ad esempio la funzione shapiro.test. Per ottenere il codice con cui viene eseguito questo test è sufficiente Todos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com2tag:blogger.com,1999:blog-2589693470451883873.post-72649430019273377202010-07-02T08:27:00.009+02:002011-09-27T10:34:13.903+02:00Cluster Analysis in R #2: Partitional ClusteringQuesto è il secondo post sull'argomento della cluster analysis in R, scritto con la preziosa collaborazione di Mirko Modenese (www.eurac.edu). Nel primo è stata presentata la tecnica del hierarchical clustering, mentre qui verrà discussa la tecnica del Partitional Clustering, con particolare attenzione all'algoritmo Kmeans.Introduzione alla Cluster Analysis \ Hierarchical Todos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com11tag:blogger.com,1999:blog-2589693470451883873.post-54480469699111845312010-06-30T18:56:00.011+02:002011-09-27T10:15:02.371+02:00Cluster Analysis in R #1: Hierarchical ClusteringDietro suggerimento e con il prezioso aiuto di Mirko Modenese, statistico presso l’European Academy of Research (www.eurac.edu) e docente di R presso l'Università Ca'Foscari di Venezia (Facoltà di Economia), che qui ringrazio per la sua disponibilità, ho deciso di sviluppare in due posts il tema della Cluster Analysis in R.Questo è l'indice degli argomenti svolti:Introduzione alla Cluster Todos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com12tag:blogger.com,1999:blog-2589693470451883873.post-29074207025089216712010-04-06T09:43:00.006+02:002011-09-27T09:25:18.740+02:00Repeated measures ANOVA: confronto tra gruppi di misure ripetuteSupponiamo di voler analizzare una certa variabile in n individui, e che questa variabile venga misurata più di 2 volte per ogni soggetto (ad esempio la pressione arteriosa prima del trattamento, durante il trattamento e al termine del trattamento farmacologico). E' intuitivo che i valori misurati siano tra loro appaiati, essendo stati misurati sugli stessi soggetti. Se avessimo effettuato solo 2Todos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com6tag:blogger.com,1999:blog-2589693470451883873.post-208194985133854832010-02-27T11:59:00.000+01:002010-02-27T12:01:35.367+01:00Come creare un InkBlot graph con RQuesto post è dedicato alla creazione con R di un InkBlot chart, anche chiamato Kaleidoscope Chart, di cui potete vedere un esempio a questo link.Ciò di cui necessitiamo è la library ggplot2, che è il gold standard della grafica con R. E ovviamente dobbiamo procurarci i giusti dati da analizzare!I dati che utilizzerò sono presi dal sito ISTAT; in particolare userò alcune tabelle con le previsioniTodos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com0tag:blogger.com,1999:blog-2589693470451883873.post-55124660104537045442010-02-26T11:44:00.003+01:002014-06-07T12:29:57.198+02:00Quando le assunzioni dell'ANOVA sono violate: tests e post-hoc testsIl capitolo dei confronti multipli è uno dei più vasti nella letteratura statistica. Cominciamo con un riepilogo. Le due principali assunzioni della ANOVA sono:
1. tutti i gruppi seguono una distribuzione normale
2. le varianze sono omogenee (omoschedasticità)
Queste due assunzioni vengono verificate rispettivamente con i test di normalità, e con i test di omogeneità della varianza.
Se queste Todos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com13tag:blogger.com,1999:blog-2589693470451883873.post-56503321313133319752010-01-02T16:30:00.002+01:002010-01-02T16:35:21.595+01:00Latin squares design in RIl disegno a quadrati latini (latin square design) permette di analizzare 3 fattori contemporaneamente, così come si farebbe con una ANOVA a 3 fattori.Questo metodo è stato creato inizialmente in ambito agrario, per avere un metodo di analisi della produttività di un terreno, coltivato in maniera differente. Pertanto userò un esempio prettamente agrario, ma questa analisi può essere applicata Todos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com0tag:blogger.com,1999:blog-2589693470451883873.post-49419690510512013102009-12-30T23:19:00.009+01:002010-01-25T23:34:02.702+01:00Mappa dei Social Networks per nazione in RCome ultimo post dell'anno 2009, ho deciso di presentare alcune funzioni di R che finora non avevo mai trattato, e per fare pratica con i dataframe in R. L'argomento che ho scelto come esempio da analizzare è la popolarità dei Social Network, idea che mi è venuta leggendo questo articolo. Non voglio certo soffermarmi in pensieri e riflessioni su questo genere di siti, essendo l'obiettivo di Todos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com8tag:blogger.com,1999:blog-2589693470451883873.post-20914458944437658112009-12-23T10:56:00.002+01:002009-12-23T13:40:07.322+01:00Standardizzazione e diamond chartIn questo post vediamo come creare un diamond plot, o diamond chart, o spider chart, o diagramma di Kiviat, ossia uno dei tanti metodi grafici per confrontare diversi parametri tra vari oggetti in studio. Per questo esempio, ho scelto di confrontare tra loro 3 diversi modelli di auto, ottenendo i dati dal sito gaadi.com. I 3 modelli che ho scelto sono:- Fiat Grande Punto 1.4 Emotion Pack- Todos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com1tag:blogger.com,1999:blog-2589693470451883873.post-40016018062667543172009-12-21T10:14:00.003+01:002009-12-21T10:23:03.534+01:00Choropleth map in R: coloriamo le mappe geograficheDopo una lunga pausa, finalmente torno ad occuparmi del mio blog!In questo post vedremo come creare una choropleth map, ossia una mappa geografica con le diverse regioni colorate in base ad un certo valore numerico.Per far questo, ecco ciò di cui abbiamo bisogno:** libreria sp** libreria Hmisc** la mappa bianca: su questo sito è possibile ottenere le mappe in un formato leggibile da R** i dati daTodos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com25tag:blogger.com,1999:blog-2589693470451883873.post-29004980920758389532009-09-03T18:31:00.006+02:002011-09-27T09:56:30.900+02:00Analisi della sopravvivenza: curve di Kaplan-Meier e modello di CoxLe funzioni di sopravvivenza possono essere studiate con due metodi: il metodo attuariale e il metodo di Kaplan-Meier. Quest'ultimo viene utilizzato quando:- si conosce il tempo esatto in cui avviene l'evento considerato (e non l'intervallo, come nel metodo atturiale)- i persi al follow-up (truncated o censored, in inglese) partecipano alla determinazione della funzione di sopravvivenza fino al Todos Logoshttp://www.blogger.com/profile/09881188152777475558noreply@blogger.com13