filling in blank cells with nearest number
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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:
![](https://www.mathworks.com/matlabcentral/images/broken_image.png)
2 comentarios
Respuestas (1)
Wayne King
el 2 de Mzo. de 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 comentarios
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!