filling in blank cells with nearest number
1 view (last 30 days)
Show older comments
Hi there,
Would anybody be able to help me with some code to 'fill in some data'.
I have a column of data with '1's and '0's with blank cell in between. I'm trying to fill in the blank cells with the nearest number.
Greatly appreciate any help. I have 105,841 rows.
Here is an example:
2 Comments
Answers (1)
Wayne King
on 2 Mar 2013
The question I'm not sure of from your post is how you want to deal with
1 NaN 0
0 NaN 1
Do you want the above to be assigned 1?
I'll assume that you have at most 1 NaN between numbers.
There are many ways to do this
x = [0 0 0 NaN 0 1 1 NaN 0];
indexvec = 1:length(x);
idx = isnan(x);
indexvec = indexvec(idx>0);
x(indexvec) = max(x(indexvec-1),x(indexvec+1));
The above code assigns a 1 to both
1 NaN 0
and
0 NaN 1
It also assigns 0 to
0 NaN 0
and 1 to
1 NaN 1
4 Comments
See Also
Categories
Find more on Logical 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!