How can I center a dataset with NaN values in it?

2 views (last 30 days)
I know this sounds like an easy question. Really, it is. I've even asked some form of this question before. But, I have run into a new problem today. I have a 736x1 vector, called 'ARRAY4' which I am trying to center. The vector contains NaN values. The code I am using is:
ARRAY4c=bsxfun(@minus,ARRAY4,nansum(ARRAY4)/size(ARRAY4,1));
This code works fine with many other datasets, but for some reason it does not with this one. The output, rather than being centered around the average, is all positive values and NaNs. I have checked the original data several times manually to look for any anomalous values, but to no avail. What could possibly be happening here?
  2 Comments
Azzi Abdelmalek
Azzi Abdelmalek on 5 Nov 2013
You said: but for some reason it does not with this one.
Which one?
Patrick
Patrick on 5 Nov 2013
This one, as in this dataset, "ARRAY4". It has worked with my other datasets, "ARRAY1", "ARRAY2", "ARRAY3", which also contain NaN values.

Sign in to comment.

Accepted Answer

Patrick
Patrick on 6 Nov 2013
As a different approach, I used:
nanmean(ARRAY4c)
to find the mean of the positive data, and centered it around that.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!