How to get NaN if the data is not in proper input format or missing?

1 view (last 30 days)
I am running a function over each table rows. It is a big table and some of the entries are 'NaN' (class: 'double') or 'none' (class: 'char'). There may some missing entries too. I want to get 'NaN' as output if any of the table entries is not a valid entry. How should I approach it? I have uploaded the table in attachment. My function is as follows.
function [logical_out, reaction_time, average_position] = new_table2(name,date,Trial)
  3 Comments
Atanu
Atanu on 1 Jun 2022
You are right. All the NaN entries for 'playstarttrialtone' and 'presentcost' gave me NaN as output without doing anything.
By the way, I have converted all the columns from cellstring to double (e.g., playstarttrialtone and presentcost) or string ('subjectid') as I thought would be appropriate. But the bad entries in the subjectid column is specified as 'none' in the table. So they are still giving me outputs.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 31 May 2022
Edited: Walter Roberson on 31 May 2022
https://www.mathworks.com/help/matlab/ref/standardizemissing.html
standardize missing. Then rmmissing https://www.mathworks.com/help/matlab/ref/rmmissing.html with the second output to show which rows were removed. Run the function on the reduced data, and then inject the results into a larger vector of nan values to match up to the original rows.

More Answers (0)

Categories

Find more on Tables in Help Center and File Exchange

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!