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

152 views (last 30 days)
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?

Accepted Answer

Adam
Adam on 3 Sep 2019
Edited: Adam on 3 Sep 2019
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.

More Answers (1)

dpb
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.

Categories

Find more on Tables in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!