MATLAB Answers

0

undefined function 'isnan' for input arguments of type 'table'

Asked by Niraj Acharya on 3 Sep 2019
Latest activity Commented on by Niraj Acharya on 3 Sep 2019
Hi guys,
I have data from a table which looks as below.
y=data(:,20);
X=data(:,[17:19,21:29]);
I am trying to remove some NaN values in data using isnan.
nans = isnan(y) | (sum(isnan(X), 2) > 0);
But, I keep getting error.
undefined function 'isnan' for input arguments of type 'table'
Could somebody please help me?

  0 Comments

Sign in to comment.

Tags

2 Answers

Answer by Adam
on 3 Sep 2019
Edited by Adam
on 3 Sep 2019
 Accepted Answer

Assuming data is a table, try using curley braces { } instead of parentheses ( ), i.e.
y=data{:,20};
X=data{:,[17:19,21:29]};
gives details of different ways to access data from a table. similar to a cell array it is the curly braces that actually extract the data into a double, Parentheses extract the data into another table.

  1 Comment

Sign in to comment.


Answer by dpb
on 3 Sep 2019

Presuming the variables in data are named y and X, then
nans = isnan(data.y) | (sum(isnan(data.X), 2) > 0);
You have to select the data itself, not the whole table or subsets thereof.

  0 Comments

Sign in to comment.