Functions di R impiegate durante il corso

Transcript

Functions di R impiegate durante il corso
FUNCTIONS DI UTILITA’ GENERALI
•
•
•
•
•
•
•
•
x<-c(x_1,x_2,…)
x<-rep(n,a)
sum(x)
cumsum(x)
for (i in 1:9) {…}
length(x)
read.table(“Path”)
scan(“Path”)
•
•
•
•
•
•
•
•
basename(getwd())
dirname(getwd())
source(‘filename.r’)
x<-seq(a,b,step)
funct<-function(x){ }
integrate(funct, a, b)
sort(dati)
plot(x,y,…)
% per costruire il vettore x
% per costruire un vettore contenente n volte l’elemento in a
% per sommare il contenuto del vettore x
% per somme parziali cumulate del contenuto del vettore x
% ciclo for
% lunghezza del vettore x
% legge i dati in un file e li inserisce direttamente in un data-frame
% legge i dati in un file e li inserisce direttamente in un vettore o
una lista
% per conoscere la directory corrente di lavoro
% per conoscere il path della directory corrente di lavoro
% per eseguire un eseguibile
% per costruire un vettore di reali tra a e b con passo step
% per costruire una funzione di variabile x
% per calcolare l’integrale tra a e b della funzione funct
% per ordinare il contenuto del vettore dati
% per effettuare il grafico di x verso y
% altri parametri di input: las=1/2 (etichette orizzontali o
verticali)
% cex.axis= per modificare la taglia del carattere delle etichette
sull’asse delle ascisse
col=’nomecolore’ (per il colore da associare alle barre),
xlim = range(x_1,x_2) (per l’intervallo rappresentato sull’asse
delle ascisse)
ylim = range(y_1,y_2) (per l’intervallo rappresentato sull’asse
delle ordinate)
breaks = numero (numero delle classi)
breaks=c(x_1,x_2,…) (estremi delle classi)
STATISTICA DESCRITTIVA
•
obj<-hist(dati)
•
•
•
% produce l’istogramma di un campione univariato contenuto in dati
% altri parametri di input: prob = TRUE (per le frequenze relative),
col=’nomecolore’ (per il colore da associare alle barre),
labels = TRUE (per le etichette sulle barre),
xlim = range(x_1,x_2) (per l’intervallo rappresentato
sull’asse delle ascisse)
ylim = range(y_1,y_2) (per l’intervallo rappresentato
sull’asse delle ordinate)
breaks = numero (numero delle classi)
breaks=c(x_1,x_2,…) (estremi delle classi)
str(obj)
% per visualizzare i vettori associati al data-frame obj
density(dati)
% per sovrapporre ad un istogramma lo stimatore kernel di densità
mean(dati)
% media del campione dati
•
•
•
•
•
•
•
•
•
•
•
•
•
sd(dati)
diff(range(dati))
summary(dati)
boxplot(dati)
% deviazione standard del campione dati
% campo di variazione del campione dati
% per calcolare i quartili
% per costruire un box-plot
% altri parametri di input: horizontal = TRUE (per un box-plot orizzontale),
col=’nomecolore’ (per il colore da associare alle barre)
outliers<-boxplot(dati) % per gestire gli outliers
dati %in% outliers$out % per conoscere la posizione degli outliers all’interno del campione
skewness(dati)
% coefficiente di asimmetria del campione dati
kurtosis(dati)
% curtosi del campione dati
ecdf(dati)
% funzione di ripartizione del campione dati
points(x,y,pch=no.)
% per sovrapporre punti su di un grafico
obj<-cut(x,c,right=TRUE) % per ripartire I dati contenuti nel vettore x negli intervalli (chiusi a destra
se right=TRUE) i cui estremi sono contenuti in c.
table(obj)
% per costruire una tavola di contingenza con l’output della function obj
cbind(table)
% crea una matrice con il risultato della function table
qqnorm (dati)
% normal plot del campione dei dati
qqline(dati, distribution) % aggiunge una linea ad un qqplot secondo la distribuzione assegnata
nella variabile distribution
plot.ecdf(dati,col.points='…',col.hor='…’) % grafico a gradini della funzione di ripartizione del
campione dati
rowMeans(x)
% medie sulle righe della matrice x
•
•
•
•
VARIABILI ALEATORIE
• weighted.mean(x,p)
% media della distribuzione di probabilità della variabile aleatoria che assume valori
contenuti nel vettore x con probabilità p
• dbinom(successi,n,p)
% massa di probabilità di una variabile aleatoria con legge binomiale di
parametri n e p, corrispondenti al vettore dei successi, NB: pbinom (per la funzione di ripartizione),
binom (per i quantili)
• dunif(x,min=a,max=b)
% massa di probabilità di una variabile aleatoria con legge uniforme discreta tra a e b.
• dgeom(x,p=a)
% massa di probabilità di una variabile aleatoria con legge geometrica di parametro p.
• dpois(x,lambda=a)
% massa di probabilità di una variabile aleatoria con legge di Poisson di parametro lambda.
• dhyper(x,K,N,n)
% massa di probabilità di una variabile aleatoria con legge ipergeometrica di parametro N= taglia
popolazione, K= numero di successi, n= numero di estrazioni.
• dnbinom(x,k,p)
% massa di probabilità di una variabile aleatoria con legge binomiale negativa di parametro k= k-esimo
successo, p= probabilità di successo.
• dnorm(x,media,dev.standard)
% densità di probabilità di una variabile aleatoria con legge gaussiana di media e deviazione standard
assegnata.
• dexp(x,lambda)
% densità di probabilità di una variabile aleatoria con legge esponenziale di parametro lambda.
• dweibull(x,shape,scale)
% densità di probabilità di una variabile aleatoria con legge di weibull di parametri shape e scale.
• dgumbel(x,loc,scale)
% densità di probabilità di una variabile aleatoria con legge di Gumbel di parametri location e scale.
• dchisq(x,no.gradi di libertà)
% densità di probabilità di una variabile aleatoria con legge chi-quadrato di parametri no. gradi di
libertà.
• dt (x,no.gradi di libertà)
% densità di probabilità di una variabile aleatoria T-student di parametri no. gradi di libertà.
• df (x, no.gradi di libertà1, no.gradi di libertà 2)
% densità di probabilità di una variabile aleatoria di Fisher di parametri no. gradi di libertà1, no.gradi di
libertà 2.
AFFIDABILITA’ DEI SISTEMI
fitdistr(dati,"modello")
% libreria MASS, stimatori di massima verosimiglianza per i parametri associati al
specificato
modello
CONTROLLO STATISTICO DI QUALITA’
obj<-qcc(dati,type=…)
% costruzione della carta di controllo del tipo specificato nella variabile type, Necessita della
libreria qcc.
oc.curves(obj)
% curva caratteristica operativa di una carta di controllo x-bar
sd.xbar(dati, std.dev = c("UWAVE-R", "UWAVE-SD", "MVLUE-R", "MVLUE-SD", "RMSDF"))
% per stimare la variabilità della carta di controllo prodotta con qcc
TEST DI IPOTESI
t.test(dati,mu=mu_0,alternative=…, conf.level=p)
% T-test sulla media, varianza incognita per un campione univariato, ipotesi nulla mu=mu_0,
specificare un test a una coda ponendo alternative=”greater” oppure “less”, errore di I tipo pari a 1conf.level.
z.test(dati, y = NULL, alternative =…, mu = mu_0, sigma.x = sigma_0, sigma.y = NULL, conf.level=..)
% z-test sulla media, caso varianza nota sigma_0 per un campione univariato, ipotesi nulla
mu=mu_0, specificare se il test è a una coda ponendo alternative=”greater” oppure “less”, errore
di I tipo pari a 1-conf.level. Per usare questa function va richiamata la libreria BSDA (basic statistical
data analysis) che a sua volta necessita delle librerie e1071, class, lattice.
var.test(dati1, dati2, ratio = 1, alternative = …, conf.level = …)
% confronto di varianze per due popolazioni, ipotesi nulla: rapporto tra le varianze = 1, specificare
un test a una coda ponendo alternative=”greater” oppure “less”, errore di I tipo pari a 1-conf.level.
t.test(data1, data2, mu = m_0, alternative = … , paired = … , var.equal = …, conf.level =…)
% confronto di medie per due popolazioni, ipotesi nulla: differenze tra le medie pari a mu_0, per
varianze uguali porre var.equal=TRUE, se i dati si riferiscono alle stesse unità campionarie porre
paired=FALSE, specificare un test a una coda ponendo alternative=”greater” oppure “less”, errore di
I tipo pari a 1-conf.level.
ks.test(dati1,dati2)
% test di Kolmogorov-Smirnov per stabilire se i due campioni dati1 e dati2 provengono dalla
medesima popolazione.
cor.test(dati1,dati2)
% test sul coefficiente di correlazione per stabilire se i due campioni dati1 e dati2 hanno coefficiente
di correlazione nullo.
ks.test(dati,modello teorico, parametri del modello teorico)
% test per stabilire se il campione casuale dati segue la legge di probabilità descritta dal modello
teorico: usare ?ks.test per verificare quali e quanti parametri vanno specificati in input.
goodfit(dati, modello, parametri modello)
% test sulla bontà di adattamento di un modello teorico scelto tra binomiale e di Poisson per il
campione casuale dati.
chisq.test(osservate, p=attese/sum(attese))
% test sulla bontà di adattamento di un modello teorico discreto per il campione casuale dati, il
vettore osservate contiene le frequenze osservate, quello attese contiene le frequenze assolute
calcolate usando il modello teorico.
z.test(dati1, dati2, alternative = …, sigma.x = sigma1, sigma.y=sigma2, conf.level)
% confronto di medie per due popolazioni con varianze note, ipotesi nulla: differenze tra le medie
pari a mu_0 , specificare un test a una coda ponendo alternative=”greater” oppure “less”, errore di
I tipo pari a 1-conf.level.
prop.test(x=c(x_1,x_2),n=c(n_1,n_2),correct=….)
% confronto tra due proporzioni per due campioni casuali bernoulliani, ipotesi nulla: differenze tra
le proporzioni pari a 0, specificare un test a una coda ponendo alternative=”greater” oppure “less”,
errore di I tipo pari a 1-conf.level, se correct è pari a TRUE si usa la correzione di Yates.
shapiro.test(dati)
% test per stabilire se il campione casuale dati proviene da una popolazione gaussiana.
binom.test(m,n)
% test dei segni o della mediana. Preceduto dalla function count(sign(x-a)) che restituisce il numero
di segni negativi e positivi nel vettore x-a – libreria plyr.
wilcox.test(x,y,paired=…,alternative=‘two sided’)
% test per verificare se x e y hanno medesima tendenza centrale. Se paired=FALSE, i due campioni
si assumono indipendenti, se paired =TRUE i due campioni sono stati ricavati dalle stesse unità
statistiche.
PROGETTAZIONE DEGLI ESPERIMENTI CASUALI
fdo<-facDesign(k=…,replicates=…)
% per costruire un piano sperimentale fattoriale con k fattori e numero di repliche assegnato alla
variabile replicate.s, library(‘quality tools’)
response(fdo)<-dati
% per assegnare il campione casuale dati al piano sperimentale fattoriale costruito con la function
facDesign, library(‘quality tools’)
fdo.frac<-fracDesign(k=…,gen="…",replicates = …)
% per costruire un piano sperimentale fattoriale frazionato con k fattori e numero di repliche
assegnato alla variabile replicates, in gen si descrivono i confounding factors, library(‘quality tools’)
tdo<-taguchiDesign(design, randomized=…,replicates=)
% per costruire un piano sperimentale combinato frazionato con numero di repliche assegnato alla
variabile replicates, se randomized =TRUE viene restituito l’ordine di esecuzione degli esperimenti
factors, library(‘quality tools’)
values(tdo)<-list(…)
% per assegnare delle etichette ai fattori prodotti dal piano sperimentale del Taguchi
effectPlot(tdo)
% per effettuare un grafico delle interazioni tra i fattori prodotti dal piano sperimentale del Taguchi
ANOVA
1 fattore
boxplot(dati~fattore1)
% boxplot dei dati contenuti nel campione dati ripartito nei livelli del fattore1
bartlett.test(dati,fattore1)
% test sulla omogeneità delle varianze per il campione casuale dati ripartito nei livelli del fattore
results<-aov(dati~fattore1)
% test ANOVA per il campione casuale dati ripartito nei livelli del fattore
obj<-TukeyHSD(results,conf.level= 0.95)
% test sulla differenza delle medie per l’ANOVA, results è l’output della function aov
plot(obj)
% per visualizzare gli intervalli di confidenza per la differenza delle medie
2 fattori senza repliche
bartlett.test(dati~fattore1+fattore2)
results<-aov(dati~fattore1+fattore2)
2 fattori con repliche
bartlett.test(dati~fattore1*fattore2)
results<-aov(dati~fattore1*fattore2)
interaction.plot(fattore1,fattore2,…)
% per il grafico delle interazioni tra i due fattori
3 fattori con repliche (library HH)
bartlett.test(dati~fatt1*fatt2*fatt3)
aov(dati~fatt1*fatt2*fatt3 + fatt1: fatt2 : fatt3)
interaction2wt(dati~AC*PR*No.)
% per il grafico delle interazioni tra i tre fattori