how can I run a program using a dataset with missing values?
Info
This question is closed. Reopen it to edit or answer.
Show older comments
Hello all, I have a problem with my code. I get incorrect results when in dataset are some 'inevitable' missing value. How can I do? I don't want to remove them. Do you have any idea? Thank you, Doriana
8 Comments
Amir
on 5 Aug 2014
Hi Doriana, please give a bit more information about the type of analysis which you are doing.
Michael Haderlein
on 5 Aug 2014
What exactly do you mean with missing values? Maybe setting the 'inevitable' values to NaN would help? If not, you should provide more information.
Doriana
on 5 Aug 2014
Michael Haderlein
on 5 Aug 2014
Still, we can only guess what you mean. You realized that you outcommented the line in which you set UpperLimit? Thus, even when changing ds, the value of UpperLimit remains. In case that's not the origin of your problem, please tell us what missing values means. Is ds smaller than it's supposed to be? Is ds full of NaNs? Is there a possibility to estimate the missing values, e.g. by interpolation?
Doriana
on 5 Aug 2014
Michael Haderlein
on 6 Aug 2014
Ok, so it's NaNs. Then, will it be sufficient to just filter out the NaNs? If so, please have a look at the function nanmean and the related functions.
If not, do you have a model to estimate the missing values? Interpolation in the simplest case?
Doriana
on 6 Aug 2014
Michael Haderlein
on 6 Aug 2014
This question must be answered by you. You seem to make some statistics and I'm not sure if interpolation makes a lot of sense in this context. If you think it does make sense, you can use the following lines (1D only):
function y = interp1_nan(x,y)
y(isnan(y))=interp1(x(~isnan(y)),y(~isnan(y)),x(isnan(y)),'linear','extrap');
Answers (0)
This question is closed.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!