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