replacing every columns of nan with the mean of each columns
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi all, i want to replace every columns of nan with the mean of each columns and i used the following code
median1 = nanmean(combinedatamat)
[rows, columns] = size(combinedatamat);
n = 0 ;
for col = 1 : columns
n = n + 1;
combinedatamat(isnan(combinedatamat(:,n))) = median1(1,n) ;
end
What i get is the first column of combinedatamat being replaced with the last columns of median1 while the rest of the columns in combinedatamat still contain NAN, can i know what is the error here ? thanks in advance
1 Kommentar
Akzeptierte Antwort
Guillaume
am 19 Mär. 2015
A simple vectorised way of achieving what you want:
median1 = repmat(nanmean(combinedatamat), size(combinedatamat, 1), 1);
combinedatamat(isnan(combinedatamat)) = median1(isnan(combinedatamat))
1 Kommentar
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Graphics Object Programming finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!