%% Caricamento dati X=readtable('TAGLIAT40MIS.xlsx','Sheet','Dati','Range','A3:C43'); %% Conto il numero di missing per ogni colonna % il vettore nummis conterrà il numero di missing per ogni colonna % Implementazione da pivellissimi nummis=zeros(1,3); nummiss(1)=sum(ismissing(X(:,1))); nummiss(2)=sum(ismissing(X(:,2))); nummiss(3)=sum(ismissing(X(:,3))); disp('Numero di missing per ogni colonna') disp(nummiss) % Le funzioni MATLAB restituiscono un valore vero se si è in presenza di un % missing value si chiamano isnan e ismissing. isnan richiede come input % una matrice di numeri (array), ismissing al contrario ammette come input % non solo le matrici di numeri ma anche le table (e le timetable ossia le % table che hanno come nomi delle righe i tempi). %% Implementazione tramite cicli for % nummiss1 = numero di valori mancanti per ogni colonna nummiss1=zeros(3,1); % mea= medie omettendo i missing values meas=nummiss1; % sigmas = deviazioni standard omettendo i missing values sigmas=meas; % Outsup = outliers superiori Outsup=meas; % Outinf =outliers inferiori Outinf=meas; for j=1:3 Xj=X{:,j}; nummiss1(j)=sum(ismissing(Xj)); meas(j)=mean(Xj,'omitnan'); sigmas(j)=std(Xj,'omitnan'); perc=prctile(Xj,[25 75]); PTsup=perc(2)+1.5*(perc(2)-perc(1)); PTinf=perc(1)-1.5*(perc(2)-perc(1)); Xjsenzamissing=Xj(~ismissing(Xj)); Outsup(j)=sum(Xjsenzamissing>PTsup); Outinf(j)=sum(Xjsenzamissing