All -9999 in a table to NaN
1 次查看(过去 30 天)
显示 更早的评论
Hi Everyone,
I have a table with results from a lot of sensors (1 column per sensor), if the results aren't valid then the output value is -5555.
I want to make all values of -5555 in the entire table =NaN, is there a quick way to do this?
I can do it for 1 column and create a loop to do it for all columns but is there an easier way?
Thanks in advance!
0 个评论
采纳的回答
Steven Lord
2021-8-27
Use standardizeMissing.
dblVar = [NaN;3;Inf;7;9];
cellstrVar = {'one';'three';'';'N/A';'nine'};
charVar = ['A';'C';'E';' ';'I'];
categoryVar = categorical({'red';'yellow';'blue';'violet';''});
A = table(dblVar,cellstrVar,charVar,categoryVar)
B = standardizeMissing(A, 7)
更多回答(1 个)
dpb
2021-8-27
isBad=(T{:,:)==-5555); % logical array across table T
T{:,:)(isBad)=nan; % assign NaN to those locations
Use your table variable name in place of T above, of course.
Depending on how you're creating the table, it may be easier/more direct to use the IsMissing indicator when create the table rather than have to fix up after the fact; we would have to know how the table is being populated to begin with to say -- that is, we need to see the code.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!