% Domanda 1 % Caricamento dati Xtab=readtable('ADMgiugno2021.xlsx','Sheet','Foglio1','Range','B13:E29','ReadRowNames',true); X=Xtab{:,:}; namesV=Xtab.Properties.VariableNames; namesR=Xtab.Properties.RowNames; %% Rappresentazione tramite coordinate parallele e stelle parallelplot(Xtab) glyphplot(X,'glyph','star') %% Matrice dei diagrammi di dispersione spmplot(Xtab) %% matrice di correlazione con i relativi p-values [R,Rpval]=corr(X); % relazioni tra X1 e X2 significativa. Rtable=array2table(R,'RowNames',namesV,'VariableNames',namesV); disp('Matrice di correlazione') disp(Rtable) %% Componenti principali outPCA=pcaFS(Xtab); % La prima componente è funzione diretta di tutte e tre le variabili in % esame, di conseguenza può essere interpretata come un indicatore % sintetico di altezza, diametro e fiori prodotti. % Le piante che presentano valori elevati della prima PC presentano elevata % altezza, elevato diametro e producono molti fiori. La seconda componente % è caratterizzata per lo più dalla variabile X2 (diametro) in maniera % crescente e in misura minore dall'altezza (in maniera descrescente). Le % piante che presentano valori elevati della seconda componenti principale % presentano elevato diametro e bassa altezza. % Angolo piccolo tra X1 e X3 ==> correlazione diretta elevata tra altezza e % fiori prodotti. % La pianta 13 è caratterizzata in generale da valori superiori alla media % per le 3 variabili in esame (valori elevati di PC1). La pianta 13 è nella % direzione di X2 e presenta il valore più elevato per questa variabile % (pianta con il diametro più grande) %% Calcolare la distanza di Mahalanobis di ogni unità dal centroide mu=mean(X); covar=cov(X); % Distanza di Mahalnanobis di ogni unità dal centroide dM=sqrt(mahalFS(X,mu,covar)); % La pianta 13 è quella più distante dal centroide. close all bar(dM) %% Esercizio 2 % Calcolare un intervallo di confidenza al 95% del numero di fiori prodotti % (variabile X3) % Sapendo che le prime 8 piante si riferiscono ad una specie diversa % calcolare l'intervallo di confidenza del numero di fiori prodotti % separatamente per le due specie % Intervallo di confidenza globale per il numero dei fiori prodotti X3=X(:,3); mea=mean(X3); scor=std(X3); n=length(X3); % il campione è piccolo di conseguenza faccio riferimento ai quantili della % v.c. T di Student con n-1 gradi di libertà pertstud=tinv(0.975,n-1); sqrtn=sqrt(n); Cint=[mea-pertstud*scor/sqrtn mea+pertstud*scor/sqrtn]; disp('Estremi dell''intervallo di confidenza del numero dei fiori al 95 per cento') disp(Cint) %% Calcolo intervallo di confidenza seperato per specie 1 e specie 2 % (risoluzione da pivelli) X1=X(1:8,3); mea=mean(X1); scor=std(X1); n=length(X1); pertstud=tinv(0.975,n-1); sqrtn=sqrt(n); CintSP1=[mea-pertstud*scor/sqrtn mea+pertstud*scor/sqrtn]; disp('Estremi dell''intervallo di confidenza del numero di fiori al 95 per cento per la specie 1') disp(CintSP1) % Intervallo di confidenza al 95 per cento della spesa globale per la % seconda specie di piante X1=X(9:end,3); mea=mean(X1); scor=std(X1); n=length(X1); pertstud=tinv(0.975,n-1); sqrtn=sqrt(n); CintSP2=[mea-pertstud*scor/sqrtn mea+pertstud*scor/sqrtn]; disp('Estremi dell''intervallo di confidenza della spesa globale al 95 per cento per le seconda specie di piante') disp(CintSP2) %% Calcolo intervallo di confidenza utilizzando la funzione grpstats (1 solo riga di codice) group=ones(n,1); group(9:16)=2; statstbl = grpstats(X(:,3),group,'meanci'); % Intervalli di confidenza molto sovrapposti. Non c'è evidenza statistica % di diverso numero di fiori prodotti tra le due specie %% Matrice di cograduazione con i relativi p-values [Rco,Rcopval]=corr(X,'type','Spearman'); % Commento: cograduazione molto elevata tra X1 e X3. % p value tra X1 e X3 è molto basso. Rcotable=array2table(Rco,'RowNames',namesV,'VariableNames',namesV); Rcopvaltable=array2table(Rcopval,'RowNames',namesV,'VariableNames',namesV); disp('Matrice di cograduazione') disp(Rcotable) disp('Matrice dei p-values') disp(Rcopvaltable)