% Importare dentro MATLAB il dataset contenuto nella zona A1:I108 in % formato table. Assegnare alla table il nome Y. % Mostrare il contenuto delle prime 8 righe della table. % 1) Calcolare la media aritmetica delle variabili quantitative. % 2) Calcolare la media aritmetica delle variabili quantitative, % distinguendo tra maschi e femmine. % 3) Calcolare la media aritmetica delle variabili quantitative, % distinguendo tra maschi e femmine e titolo di studio. % ESTRAZIONE DI UNA SOTTOTABLE IN BASE A DETERMINATI CRITERI % 4) Estrarre in una table denominata Y1 le righe del dataset che hanno una % retribuzione >2000 Euro % 5) Estrarre in una table denominata Y2 le righe del dataset associate % alle donne che hanno il titolo di studio C. % 6) Estrarre in una table denominata Y3 le righe del dataset il cui % cognome inizia con lettere da M a Z (estremi scompresi) Y=readtable('Firm.xlsx','Sheet','data','Range','A1:I108','ReadRowNames',true); % La funzione head ritorna le prime 8 righe della table % E' equivalente a Y(1:8,:) head(Y) % La funzione varfun permette di applicare una determinata funzione ad ogni % colonna della table % L'istruzione di seguito consente di verificare la tipologia di dati per % ogni colonna della table varfun(@class,Y) %% 1) Calcolare la media aritmetica delle variabili quantitative. % Per calcolare la media delle variabili quantitative % varquant è il cell array of characters di dimensione 1x4 che contiene i % nomi delle variabili da estrarre varquant={'Birth_date' 'Wage' 'Weight', 'Height'}; varfun(@mean,Y(:,varquant)) % In alternativa si poteva utilizzare tutta la table Y e nell'argomento % opzionale di varfun InputVariables definire le colonne da utilizzare varfun(@mean,Y,'InputVariables',varquant) %% Calcolo della media separata per maschi e femmine varfun(@mean,Y,'InputVariables',varquant,'GroupingVariables','Gender') %% Calcolo della media separata per maschi e femmine e tipologia di titolo di studio varfun(@mean,Y,'InputVariables',varquant,'GroupingVariables',{'Gender' 'Education'}) %% Estrazione di una sottotable in base a determinati criteri % 4) Estrarre in una table denominata Y1 le righe del dataset che hanno una % retribuzione >2000 Euro % Creo una variabile booleana che assume valore true se la retribuzione è % >2000 boo=Y.Wage>2000; disp('Table riferita alle persone con stipendio superiore a 2000 Euro') Y1=Y(boo,:); disp(Y1) %% 5) Estrarre in una table denominata Y2 le righe del dataset che sono % donne e hanno il titolo di studio C. % Osservazione Y.Gender è un cell array of characters e non ammette % l'operatore == % Devo quindi trasformare Y.gender in uno string array boodonne=string(Y.Gender)=='F'; % Stessa cosa per il titolo di studio bootitstud=string(Y.Education)=='C'; % boodonne sono due vettori booleani % il vettore boo contiene l'intersezione tra i due criteri. Ossia il % vettore boo presenta valore vero (1) quando la riga associata si % riferisce ad un una donna con il titolo di studio C. boo=boodonne & bootitstud; Y2=Y(boo,:); disp(Y2) %% 6) Estrarre in una table denominata Y3 le righe del dataset il cui % cognome inizia con lettere da M a Z (estremi scompresi) a=string(Y.Surname); boo=a>"M"; Y3=Y(boo,:); disp(Y3) %% Per approfondimenti % Per trovare tutti i cognomi che iniziano con la lettera V % strfind(a,"V"+lettersPattern,'ForceCellOutput',true)