Replace 32767 with NaN in entire table

I have a timetable with some strange values(32767 (probably Inf)) in all columns of my table.
How can I replace all these with NaN's ?
I tried the following, but it didn't work:
% Method 1
Data(Data==32767)=NaN;
%Method 2
for j=1:size(Data,2)
Data(Data(:,j)==32676,j)=NaN;
end

 Risposta accettata

ANKUR KUMAR
ANKUR KUMAR il 26 Gen 2022
Modificato: ANKUR KUMAR il 26 Gen 2022
You can get the table in a matrix form using .Variables. Once you have a matrix, then you can use boolean to replace any numbers with nan. Here is an example of replacing 48.9 with nan.
load outdoors
tt=outdoors(1:5,:);
mat = tt.Variables;
mat(mat==48.9) = nan;
tt.Variables = mat
tt = 5×3 timetable
Time Humidity TemperatureF PressureHg ___________________ ________ ____________ __________ 2015-11-15 00:00:24 49 51.3 29.61 2015-11-15 01:30:24 NaN 51.5 29.61 2015-11-15 03:00:24 NaN 51.5 29.61 2015-11-15 04:30:24 48.8 51.5 29.61 2015-11-15 06:00:24 48.7 51.5 29.6

3 Commenti

Thanks for your answer, but this is not very helpful...
I have plenty of variables in my table. So this would give a lot of code... :-(
See the updated code.
Thanks a lot! Now this was helpful ;-)

Accedi per commentare.

Più risposte (0)

Prodotti

Release

R2021b

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by