%% Carico i dati dentro MATLAB nella table denominata X X = readtable('corrisp.xlsx', 'Sheet','dati','range','A1:D427','ReadRowNames',true); % A titolo di esempio di seguito si mostra come effettuare l'analisi delle % corrispondenze tra le variabili progessione e titolo di studio % utilizzando la funzione corAna di FSDA toolbox. %% Creo la tabella di contingenza tra le variabili professione e titolo di studio [Nini,chi2,pvalchi2,labels] =crosstab(X.Professione,X.Tipo_di_Acquisto); % [N,chi2,pvalchi2,labels] =crosstab(X.Professione,X.Titolo_studio); % N è la la matrice che contiene le frequenze per ogni combinaziondi % professione e di tipo di acquisto (tabella di contingenza) % chi2 è il valore del test chi quadrato % pvalchi2 è il valore del p-value del test chi quadrato % label è un array di dimensione 13 x 2 che contiene nella prima colonne le % etichette delle modalità di riga (Professione) e nella seconda colonna % (nelle prime 4 posizioni) le etichette delle modalità di colonna (Tipo di acquisto) % r e c sono rispettivamente il numero di righe e di colonne della tabella % di contingenza [r,c]=size(N); %% Modo 1: chiamata della funzione CorAna (di FSDA) fornendo le etichette di riga e di colonna % Come input della funzione CorAna inserisco la tabella di contingenza in formato array e i % due vettori che contengono rispettivamente le etichette di riga e di % colonna. % L'argomento opzionale Lr (label rows) specifica il vettore che contiene % le etichette di riga della tabella di contingenza % L'argomento opzionale Lc (label coloumns) specifica il vettore che contiene % le etichette di colonna della tabella di contingenza outModo1=CorAna(N,'Lr',labels(1:r,1),'Lc',labels(1:c,2)); %% Modo alternativo: costruzione della table e chiamata a CorAna senza argomenti opzionali % Costruzione della matrice di contingenza in formato table Ntable=array2table(N,'RowNames',labels(1:r,1),'VariableNames',labels(1:c,2)); % Se l'input della funzione CorAna è una table, ossia un array che contiene % i nomi delle righe e delle colonne è sufficiente chiamare la funzione % CorAna con un unico argomento di input (ossia non è necessario passare a % CorAna gli argomenti opzionali 'Lr' e 'Lc') outModo2=CorAna(Ntable); %% Modo alternativo: senza passare dalla costruzione della tabella di contingenza % solo con FSDA versione superiore a 8.4.1 % Per default l'analisi delle corrispondenze viene effettuata tra le prime % due colonne della table X outModo3=CorAna(X(:,[1 3]),'datamatrix',true);