Trying to remove zeroes from dataset to determine a proper min, max, mean and median
1 view (last 30 days)
Show older comments
Nathaniel Porter
on 15 Dec 2021
Commented: Image Analyst
on 15 Dec 2021
%Tried using this method but completely gets rid of columns with zeroes
load generated_data.mat
colsWithZeros = any(X1==0)
X1_glc = X1(:, ~colsWithZeros)
mean = mean(X1)
median = median(X1)
max = max(X1)
min = min(X1)
0 Comments
Accepted Answer
Cris LaPierre
on 15 Dec 2021
You could replace the zeros with NaN, then use the 'omitnan' option in the mean, median, max and min functions.
load generated_data.mat
xX1 = X1;
xX1(xX1==0)=missing;
mean(xX1,"omitnan")
median(xX1,"omitnan")
max(xX1,[],"omitnan")
min(xX1,[],"omitnan")
By the way, you want to avoid naming your variables the same as MATLAB functions. That replaces the function with the variable, which will prevent you from using the function.
mean = mean(xX1);
% example of what happens when a varible replaces a MATLAB Function
mean2 = mean(X2;)
2 Comments
Image Analyst
on 15 Dec 2021
Exactly what I was going to suggest. So Nathaniel, could you click the "Accept this answer" if you think it solved your question to award Chris reputation points?
More Answers (0)
See Also
Categories
Find more on Operating on Diagonal Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!