Replace NaN with next good value in a certain column of a table

7 views (last 30 days)
I have T2.mat which is a table with 12 columns. I want to replace NaN in columns 5:7 (5 to 7) by exactly the next good value in each column. I don't want to replace NaN in other columns.
I searched a lot and tried hard to do this. I was read the question in the link below:
but I want to do this in just columns 5 to 7 and not for rest of the columns. I attached T2.mat if it's help
Does anyone know how I can do this?
Thank you,
Behzad

Accepted Answer

Guillaume
Guillaume on 20 Dec 2019
Edited: Guillaume on 20 Dec 2019
It's as simple as:
T2 = fillmissing(T2, 'next', 'DataVariables', {'lat', 'lon', 'station_elevation'})
or
T2 = fillmissing(T2, 'next', 'DataVariables', 5:7)
I recommend the first expression as it is clearer as to which variable is to be filled (and will work even if the order of the columns changes).

More Answers (0)

Categories

Find more on Matrices and Arrays 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!