MATLAB Answers

NaN values in timetable - how to calculate Nash–Sutcliffe model efficiency coefficient?

13 views (last 30 days)
I would like the calculate the Nash–Sutcliffe model efficiency coefficient between various variables in a dataset. However a number of rows do contain missing data so I would like to exclue them from the calculate too. Is there a function that will allow this in matlab?
  1 Comment
Jan on 24 Mar 2021
So the actual problem is how to remove rows with missing data? Then please post an example, which shows, how "missing" data are represented.

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 24 Mar 2021
If the ‘missing’ data are NaN entries, this works:
data = rand(10,3); % Create Array
data(randi(30,1,5)) = NaN; % Create Missing Data
rowidx = ~any(isnan(data),2); % Rows Without ‘NaN’ Entries
data_new = data(rowidx,:); % Matrix With No ‘NaN’ Values
If the missing entries are in a cell array with empty cells, this works:
data = num2cell(rand(10,3)); % Create Cell Array
data(randi(30,1,5)) = {[]}; % Create Missing Data
rowidx = ~any(cellfun(@isempty,data),2); % Rows Without Empty Cells
data_new = data(rowidx,:); % Matrix With No Empty Cells

More Answers (0)




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!