Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Introduzione a R
1. INTRODUZIONE A R
Un linguaggio di programmazione libero e gratuito…
…in salsa statistica
2. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 2
Software libero
• “Free software” is a matter of liberty, not price. To
understand the concept, you should think of “free”
as in “free speech”, not as in “free beer”
• Free software is a matter of the users’ freedom to
run, copy, distribute, study, change and improve the
software.
Richard Stallman
Free Software Fundation
3. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 3
Le libertà fondamentali del software
libero
• More precisely, it refers to four kinds of freedom, for the
users of the software:
• The freedom to run the program, for any purpose
(freedom 0).
• The freedom to study how the program works, and adapt
it to your needs (freedom 1). Access to the source code is a
precondition for this.
• The freedom to redistribute copies so you can help your
neighbor (freedom 2).
• The freedom to improve the program, and release your
improvements to the public, so that the whole community
benefits (freedom 3).
4. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 4
Home page di
R Project for
Statistical
Computing
www.r-project.org
1.Cosa è R
2.Accesso al CRAN,
Comprehensive R
Archive Network
3.Accesso alla
documentazione su
R di vario tipo e
livello
5. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 5
Informazioni generali
• Sviluppato originariamente da Ihaka and Gentleman
nella seconda metà degli anni ‘90
• Rilasciato come software libero sotto licenza GNU-GPL,
attualmente sviluppato da un gruppo di lavoro
denominato R-Development Core Team
• Software di riferimento per molti ricercatori, R
rappresenta un sistema coerente e ben progettato
entro il quale implementare le varie tecniche statistiche,
matematiche, finanziarie…
• Download dal sito The Comprehensive R Archive
Network (CRAN): cran.r-project.org
6. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 6
Cosa è R?
Sul sito del
progetto esiste
un’ottima pagina
che risponde a
questa domanda
7. Cosa è R
• Un linguaggio e un ambiente per il calcolo statistico e la
rappresentazione grafica
• È un progetto GNU simile al linguaggio S sviluppato da
Chambers e coll. presso i Bell Labs e ne rappresenta una sua
diversa implementazione, con alcune importanti differenze,
e con una buona compatibilità
• È la base Open Source per la ricerca in statistica
metodologica
8. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 8
Cosa offre R
• Un ambiente interattivo per il calcolo statistico e la
rappresentazione grafica dei dati basato su un dialetto del
linguaggio S (è un cugino del notissimo S-Plus)
• Un linguaggio matriciale, basato sul paradigma funzionale e
dotato di capacità di programmazione sia orientata agli
oggetti, sia strutturata
• Non necessita di dichiarazioni specifiche per definire gli array
• Gli array possono essere definiti per concatenazione
• Non necessita di iterazioni per operare sugli array
9. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 9
Interfaccia
• R offre all’utente è un’interfaccia di base a linea di comando
• L’ambiente è interattivo: quando l’utente digita al prompt
un’istruzione e preme invio, R la elabora e ne visualizza sullo
schermo il risultato
• Fanno eccezione le istruzioni di assegnazione a seguito delle
quali non è previsto alcun output
• Esistono molte interfacce grafiche alternative
• Alcune rendono R simile ad altri ambienti di calcolo statistico con
interfaccia grafica basata su menù
• Altre sono maggiormente orientate alla programmazione
• Maggiori info su http://www.sciviews.org/_rgui/
10. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 10
La console a linea di comando
11. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 11
L’SDK Rstudio
Oggetti nel Workspace
Code editor
R console
13. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 13
Alcuni esempi
• c(4, 6, 11, 3, 2) # creazione di un vettore e relativo output
• [1] 4 6 11 3 2
• > x<- c(4, 6, 11, 3, 2) # memorizzazione di un vettore
• > x # stampa dell’output
• [1] 4 6 11 3 2
• > y<- c(x, x^2, sqrt(x)) # creazione di un vettore a partire da ‘x’
• > y
• [1] 4.000000 6.000000 11.000000 3.000000 2.000000 16.000000
• [7] 36.000000 121.000000 9.000000 4.000000 2.000000 2.449490
• [13] 3.316625 1.732051 1.414214
• > A<- matrix(y, nrow=3, ncol=5) # creazione di una matrice a partire da ‘y’
• > A
• [,1] [,2] [,3] [,4] [,5]
• [1,] 4 3 36 4.00000 3.316625
• [2,] 6 2 121 2.00000 1.732051
• [3,] 11 16 9 2.44949 1.414214
14. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 14
Alcuni esempi
• > matrix(y, nrow=3, ncol=3) # crea la matrice prendendo i primi 9 elementi di ‘y’
• [,1] [,2] [,3]
• [1,] 4 3 36
• [2,] 6 2 121
• [3,] 11 16 9
• > matrix(y, nrow=3, ncol=5) # crea la matrice
• [,1] [,2] [,3] [,4] [,5]
• [1,] 4 3 36 4.00000 3.316625
• [2,] 6 2 121 2.00000 1.732051
• [3,] 11 16 9 2.44949 1.414214
• > matrix(y, nrow=3, ncol=4) # non crea la matrice perché 15 non è multiplo del
# numero di colonne 4
• Warning message:
• In matrix(y, nrow = 3, ncol = 4) :
• data length [15] is not a sub-multiple or multiple of the number of columns [4]
16. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 16
Liste
• > l1<- list(pippo=c(1,2,3),
letters[1:3], matrix(1:9, nrow=3,
ncol=3))
• > l1
• R può gestire le liste • $pippo
• [1] 1 2 3
• Una lista è un insieme ordinato di
oggetti qualsiasi, anche di tipo • [[2]]
eterogeneo • [1] "a" "b" "c"
• Agli elementi di una lista può essere
• [[3]]
attribuito un nome • [,1] [,2] [,3]
• Gli elementi di una lista sono • [1,] 1 4 7
accessibili anche attraverso l’indice di • [2,] 2 5 8
posizione • [3,] 3 6 9
• Esistono funzioni specifiche che • > l1[[3]]
consentono di manipolare le liste in • [,1] [,2] [,3]
modo rapido ed efficiente • [1,] 1 4 7
• [2,] 2 5 8
• [3,] 3 6 9
• > l1[[3]][2,]
• [1] 2 5 8
• > l1$pippo
• [1] 1 2 3
17. Data frames • > n <-
•
c(2, 3, 5)
> s <- c("aa", "bb", "cc")
• > b <- c(TRUE, FALSE, TRUE)
• I data frame sono un tipo di • > df <- data.frame(n, s, b)
oggetto speciale destinato a • >df
memorizzate le tabelle di dati • n s b
• Un data frame è una semplice lista • 1 2 aa TRUE
• 2 3 bb FALSE
di vettori, anche di tipo
• 3 5 cc TRUE
eterogeneo, della stessa
• > df$s
lunghezza
• [1] aa bb cc
• R fornisce metodi per accedere • Levels: aa bb cc
agevolmente ai dati in un data • > df[2:3, 1:2]
frame • n s
• 2 3 bb
• 3 5 cc
18. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 18
Attributi degli oggetti
• È possibile specificare per ogni oggetto degli attributi
• Alcuni possono essere stabiliti arbitrariamente dall’utente
• Altri attributi – ad esempio dim, dimnames e class – hanno
un significato specifico che consente ad R di espletare le sue
funzioni in modo ottimale
• Tali attributi sono
• Accessibili mediante la funzione attributes() e
• Modificabili mediante attr()
19. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 19
Paradigma funzionale
• In R, qualsiasi azione è definita mediante un’opportuna funzione
alla quale vengono passati degli argomenti che possono essere
oggetti (scalari, array o liste), parametri ed opzioni
• La chiamata di una funzione produce un risultato che può essere
• visualizzato direttamente o
• memorizzato assegnandolo ad un nome simbolico
• Gli utenti hanno la possibilità di definire nuove funzioni all’interno
dello spazio di lavoro mediante la parola chiave function()
• Le funzioni utente costituiscono l’elemento fondamentale della
programmazione nel linguaggio R e per l’espansione del sistema
verso l’implementazione di nuove tecniche statistiche
20. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 20
Esempio: definizione di nuova funzione
• Si vuole definire una funzione che calcola la deviazione standard con
denominatore n anziché n-1:
• > sd.n<- function(x) sqrt(sum((x-mean(x))^2)/(length(x)))
• > sd.n(y)
• [1] 29.65281
• > sd.n(3*y+10)
• [1] 88.95843
23. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 23
Programmazione orientata agli oggetti
• Le capacità di programmazione orientata agli oggetti si basa
sulla possibilità di specificare e modificare lo speciale
attributo class di un oggetto nello spazio di lavoro
• R gestisce le classi di oggetti in modo che sia possibile
definire funzioni generiche le quali invocano
automaticamente una funzione specifica, detta metodo,
determinata proprio dalla classe dell’oggetto passato come
argomento alla funzione generica
• Le funzioni print(), plot(), summary() ad esempio
producono risultati diversi a seconda dell’oggetto cui
vengono applicate
25. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 25
Automazione del lavoro
• Il sistema, inoltre, consente di automatizzare il lavoro
mediante script
• Uno script è una sequenza di istruzioni del linguaggio R
preventivamente registrate in un file di testo
• R è essenzialmente un linguaggio di programmazione
interpretato, ma per i compiti più gravosi è possibile un
agevole interfacciamento con librerie scritte nei linguaggi C,
C++ e FORTRAN
• In questo ambito, sono molto utili gli ambienti tipo SDK
come Rstudio o Eclipse
26. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 26
Espandibilità con librerie esistenti
• R gode di una collezione molto ampia di librerie dedicate ad
applicazioni specifiche
• Vi sono circa 1940 librerie ufficialmente supportate, molte altre
sono disponibili da progetti collegati che utilizzano R come motore
di calcolo
• La descrizione di una particolare libreria può essere consultata a
partire dall’indirizzo: http://cran.stat.unipd.it/web/packages/
available_packages_by_name.html
• Altre fonti sulle librerie sono
• R Journal (dal 2009): http://journal.r-project.org/index.html
• R News (fino al 2008): http://www.r-project.org/doc/Rnews/index.html
• Journal of Statistical Software: http://www.jstatsoft.org/
• CRAN Task Views: http://cran.r-project.org/web/views/
27. CRAN Task Views
• cran.r-
project.org/web/views/
• Rappresentano un metodo
rapido per guidare gli utenti
nella scelta delle librerie da
installare
• Installando/caricando la
libreria ‘ctv’ diventano
disponibili le funzioni che
consentono
l’installazione/aggiornamen
to di tutte le librerie legate
a una vista
• La vista ‘ClinicalTrials’ è
sicuramente interessante
28. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 28
Espandibilità mediante librerie create
dagli utenti
• R è un sistema progettato per essere espanso
continuamente
• Difatti, oltre alla citata possibilità di definire funzioni utente,
è dotato di strumenti e di metodi atti
• a raccogliere tali funzioni in librerie (denominate packages
nel gergo proprio di R),
• a documentare in modo esauriente ogni funzione, e
• a pacchettizzare le librerie per la distribuzione al pubblico
attraverso il sito http://cran.r-project.org.
29. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 29
Note sulle sessioni di lavoro
• Quando R è in esecuzione il workspace, o spazio di
lavoro, è interamente contenuto nella memoria
dell’elaboratore e contiene gli oggetti che vengono
creati nel corso delle elaborazioni a seguito di
operazioni di assegnazione a nomi simbolici — cioè i
dati, i risultati e le eventuali funzioni create dall’utente
• In R, qualsiasi cosa venga assegnata ad un nome
simbolico diviene un oggetto nello spazio di lavoro.
• È possibile salvare l’immagine del workspace in un file
con estensione .RData nella directory di lavoro corrente.
30. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 30
Istruzioni in R
• Le istruzioni possono essere:
• Espressioni: cioè sequenzefinite di operandi e
operatori che deve essere valutata,
• Assegnazioni: in una delle seguenti forme:
• > <nome> <- <espressione>
• > assign(<nome>, <espressione>)
• Chiamate di funzione,
• Una combinazione delle precedenti
31. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 31
Nomi simbolici
• La stringa <nome> sta ad indicare un generico nome
simbolico usato per memorizzare il risultato della valutazione
di <espressione> nello spazio di lavoro
• Come in molti altri linguaggi, i nomi simbolici sono costituiti
da stringhe alfanumeriche in cui il primo carattere deve
essere una lettera.
• In R esistono delle parole chiave che non è possibile usare
come nomi simbolici e l’interprete delle istruzioni fa
distinzione fra lettere maiuscole e minuscole
• I nomi a e A sono considerati diversi, così come le funzioni
f() ed F()
32. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 32
Parole chiave riservate
Valori speciali Parole chiave del linguaggio
FALSE break
Inf else
NA for
NaN function
NULL if
TRUE in
next
repeat
while
33. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 33
Visualizzazione dei risultati delle
elaborazioni
• Per visualizzare il valore assegnato ad un nome simbolico è
necessario invocarne il nome al prompt dei comandi
• Nei listati dei programmi, invece, è necessario digitare
l’istruzione print(<nome>)
34. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 34
Uso non interattivo
• R offre anche la facoltà di lavorare in modo non interattivo
• Cioè la possibilità di inserire sequenze di istruzioni in un file di
testo per automatizzare il lavoro
• Questi file possono essere letti dall’interprete dei comandi
mediante l’istruzione
source(<nomefile.r>, echo=T, print.eval=T)
35. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 35
Istruzioni per la gestione della sessione di
lavoro
Istruzione Risultato
ls() Visualizza l’elenco degli oggetti contenuti nel
workspace.
ls.str() Visualizza un elenco degli oggetti, aggiungendo
informazioni sul tipo dell’oggetto esul valore.
rm(<nome>) Rimuove l’oggetto <nome> dal workspace.
save(<nome>, Salva nel file nomefile.rda l’oggetto<nome>.
file=”nomefile.rda”)
save(file=”nomefile.rda”) Salva l’immagine dell’intero workspace nel file
nomefile.rda. Questa immagine non sarà letta al
successivo riavvio del sistema, ma dovrà essere
ricaricata esplicitamente.
load(file=”nomefile.rda”) Carica nello spazio di lavoro gli oggetti contenuti
nell’immagine nomefile.rda
36. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 36
Istruzioni per la gestione della sessione di
lavoro
Istruzione Risultato
getwd() Fornisce la directory di lavoro corrente.
setwd(”<directory>”) Imposta la directory di lavoro.
savehistory([file= Salva la cronologia dele istruzioni eseguite nel
”<nomefile.Rhistory>”]) file .Rhistory nella directory di lavoro corrente.
Questo file viene letto all’avviosuccessivo del
sistema.
loadhistory(file= Carica la cronologia delle istruzioni contenuta nel
”<nomefile.Rhistory>”) file nomefile.Rhistory.
options() Visualizza le opzioni di sistema.
options(<parametro>= Imposta l’opzione <parametro> a <valore>.
<valore>)
37. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 37
Istruzioni per l’interrogazione dell’aiuto
in linea
Istruzione Risultato
help(”<parola_chiave>”) Visualizza la pagina di aiuto relativa alla parola
oppure ?<parola_chiave> chiave del linguaggio R, se esiste, altrimenti
visualizza un messaggio di errore.
help.search(”<stringa>”) Visualizza l’elenco delle pagine di aiutoche
contengono <stringa>. È consigliabileinterrogare
il sistema di aiuto conquesta istruzione quando
non si conosceesattamente quale parola chiave
cercare.
help.start() Avvia il sistema di aiuto in formato HTML. Tutte le
successive richieste di aiuto vengono inviate al
browser.
options(htmlhelp=FALSE) Disattiva il sistema di aiuto in formato HTML.
example(<argomento>) Esegue il codice esemplificativo riportato in calce
alla pagina relativa ad <argomento>
38. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 38
Contenuti di una tipica pagina di
aiuto
Ogni pagina è identificata da un titolo ed è suddivisa nelle seguenti sezioni:
• Description: breve descrizione dell’argomento.
• Usage: fornisce la sintassi da usare nella chiamata della funzione,
indicando il nome degli argomenti previsti e i loro
eventuali valori predefiniti, nella forma nome=valore.
• Arguments: riporta la lista degli argomenti, indicando per ogni
argomento il tipo dei suoi valori, l’obbligatorietà o
l’opzionalità dello stesso.
• Details: fornisce dettagli tecnici inerenti al modo in cui viene
eseguita la funzione.
• Value: descrive la natura del risultato generato
• Note : avvertenze utili, generalmente riguardanti il risultato
prodotto
• References: riferimenti bibliografici e documentali relativi alla
metodologia usata.
• See Also: indica quali argomenti del sistema di aiuto sono correlati
con l’argomento visualizzato.
• Examples: esempi di uso della funzione descritta.
39. Regressione multipla
• Tratto da • Sorgente dei dati:
http://www.sci.usq.edu.au/courses/ http://www.amstat.org/publications/
sta3301/resources/handouts/ jse/datasets/fev.txt
mrexampleR.pdf • Descrizione:
• FEV (forced expiratory volume) is an • Le colonne sono separate da spazi
index of pulmonary function that • Label Description
measures the volume of air expelled
after one second of constant effort.
• Age discrete measure, positive
The data contains determinations of integer (years)
FEV on 654 children and young adults • FEV continuous measure (liters)
aged 6–22 who were seen in the • Height continuous measure (inches)
Childhood Respiratory Disease Study • Sex discrete/nominal (Female /
in 1980 in East Boston, Male)
Massachusetts. The data are part of a • Smoke discrete/nominal
larger study to follow the change in
(Nonsmoker / Smoker)
pulmonary function over time in
children
43. Regressione multipla
• Stima del modello: lm( ) • > fit<- lm(FEV ~ Age*Sex, data=fev)
• > fit
• Call:
• lm(formula = FEV ~ Age * Sex, data = fev)
• Coefficients:
• (Intercept) Age SexMale Age:SexMale
• Tipico output di una regressione multipla • 0.8495 0.1627 -0.7759 0.1107
• > summary(fit)
• Call:
• lm(formula = FEV ~ Age * Sex, data = fev)
• Residuals:
• Min 1Q Median 3Q Max
• -1.64072 -0.34337 -0.04934 0.33206 1.86867
• Coefficients:
• Estimate Std. Error t value Pr(>|t|)
• (Intercept) 0.849467 0.102199 8.312 5.51e-16 ***
• Stime dei coefficienti e test T • Age 0.162729 0.009952 16.351 < 2e-16 ***
• SexMale -0.775867 0.142745 -5.435 7.74e-08 ***
• Age:SexMale 0.110749 0.013786 8.033 4.47e-15 ***
• Residual standard error: 0.5196 on 650 degrees of freedom
• Bontà di adattamento e test F • Multiple R-squared: 0.6425, Adjusted R-squared: 0.6408
• F-statistic: 389.4 on 3 and 650 DF, p-value: < 2.2e-16
44. Regressione multipla
• Aggiunta al grafico
delle rette stimate Male
Female
• > beta<- coef(fit)
• > beta
5
• (Intercept) Age ...
• 0.8494671 0.1627289 ...
4
• > abline(beta[1:2], col="red")
• > abline(beta[1:2]+beta[3:4], FEV
col="lightblue")
3
2
1
5 10 15
Age
45. Regressione logistica
• Tratto da Everitt & Horton (2006), • Descrizione dei dati:
Handbook of Statistical Analyses • Dataset ‘plamsa’ nella libreria
Using R, cap. 6. ‘HSAUR’
• Si vuole valutare la probabilità che • A data frame with 32 observations on
the following 3 variables.
l’ESR sia superiore a 20 mm/ora al
variare dei livelli di fibrinogeno e • fibrinogen
globulina • the fibrinogen level in the blood.
• globulin
• the globulin level in the blood.
• ESR
• the erythrocyte sedimentation rate,
either less or greater 20 mm / hour.
46. Regressione logistica
• Lettura dei dati • > data(plasma)
• Stima del modello a due
• > fit<- glm(ESR ~ fibrinogen + globulin,
+ data=plasma, family=binomial())
v.i. • > summary(fit)
• Call:
• glm(formula = ESR ~ fibrinogen + globulin, family = binomial(),
• data = plasma)
• Deviance Residuals:
• Min 1Q Median 3Q Max
• -0.9683 -0.6122 -0.3458 -0.2116 2.2636
• Coefficients:
• Estimate Std. Error z value Pr(>|z|)
• (Intercept) -12.7921 5.7963 -2.207 0.0273 *
• fibrinogen 1.9104 0.9710 1.967 0.0491 *
• globulin 0.1558 0.1195 1.303 0.1925
• ---
• Null deviance: 30.885 on 31 degrees of freedom
• Residual deviance: 22.971 on 29 degrees of freedom
• AIC: 28.971
• Number of Fisher Scoring iterations: 5
47. Regressione logistica
• Interpretazione dei parametri • > b<- cbind(estimate=coef(fit), confint(fit))
• Waiting for profiling to be done...
e intervalli di confidenza • > b
• estimate 2.5 % 97.5 %
• (Intercept) -12.7920764 -27.27978361 -3.1496138
• fibrinogen 1.9103687 0.33941838 4.2904709
• globulin 0.1557782 -0.06617422 0.4266588
• > exp(b)
• estimate 2.5 % 97.5 %
• (Intercept) 2.782735e-06 1.420825e-12 0.04286868
• fibrinogen 6.755579e+00 1.404131e+00 73.00083593
• globulin 1.168567e+00 9.359678e-01 1.53212986
• > anova(fit2, fit, test="Chisq")
• Test sull’effetto principale • Analysis of Deviance Table
della globulina
• Model 1: ESR ~ fibrinogen
• Model 2: ESR ~ fibrinogen + globulin
• Resid. Df Resid. Dev Df Deviance Pr(>Chi)
• 1 30 24.840
• 2 29 22.971 1 1.8692 0.1716
49. Regressione logistica
• Grafico che mostra la
variazione delle
probabilità stimate
55
rispetto alle v.i.
50
45
globulin
40
35
30
25
2 3 4 5 6
fibrinogen
50. Meta-analisi
• Tratto da Everitt & Horton (2006), • Dataset ‘smoking’ nella libreria
Handbook of Statistical Analyses ‘HSAUR’
Using R, cap. 12 • Descrizione:
• Il problema riguarda l’efficacia • A data frame with 26 observations
dell’uso di gomme alla nicotina (studies) on the following 4
nello smettere di fumare variables.
• qt
• the number of treated subjetcs
who stopped smoking.
• tt
• the total number of treated
subjects.
• qc
• the number of subjetcs who
stopped smoking without being
treated.
• tc
• the total number of subject not
being treated.
53. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 53
Insieme di Mandelbrot
• Mandelbrot, B. (1975). Les Objects Fractals: Forme, Hazard et Dimension. Paris, Flammarion.
• http://it.wikipedia.org/wiki/Insieme_di_Mandelbrot
• > library(caTools)
• > jet.colors <- colorRampPalette(c("#00007F", "blue", "#007FFF", "cyan",
+ "#7FFF7F", yellow", "#FF7F00", "red", "#7F0000"))
• > m <- 1200 # define size
• > C <- complex( real=rep(seq(-1.8,0.6, length.out=m), each=m ),
+ (-1.2,1.2, length.out=m), m ) )
• > C <- matrix(C,m,m) # reshape as square matrix of complex numbers
• > Z <- 0 # initialize Z to zero
• > X <- array(0, c(m,m,20)) # initialize output 3D array
• > for (k in 1:20) { # loop with 20 iterations
• + Z <- Z^2+C # the central difference equation
• + X[,,k] <- exp(-abs(Z)) # capture results
• + }
• > write.gif(X, "Mandelbrot.gif", col=jet.colors, delay=100)
54. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 54
Esempio: insiemi di Mandelbrot
55. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 55
Blog:
Statistica con
R
http://statisticaconr.
blogspot.it/
56. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 56
57. 01/22/13 Dott. Marco Biffino - Statistica Demografia Matematica - Firenze 57
Programming
R
http://www.programming
r.com/
Hinweis der Redaktion
Prima di iniziare vorrei soffermarmi su alcuni slogan relativi al software libero e sull’idea che libero non significa necessariamente gratis.
Vorrei iniziare questa presentazione dall’home page di “ R Project for Statistical Computing”, pagina di riferimento dei progetti legati a R. In questa pagina troviamo i link alle pagine “What is R?”, al “CRAN"