Operands on table, comparison with numbers

6 views (last 30 days)
Hi .I have a table after reading a csv file with readtable .I attached a sample file .Say I get a table A after reading.
say I fix one of the row indices " ind" .If I try say find(A(ind,:)>0.1) I get the error : "Operation '>' not supported for operands of type table " .In general how do I just go back to some classic matrix from a table ignoring these Variable names?
I tried table2array but with no luck .Many thanks

Accepted Answer

Steven Lord
Steven Lord on 26 Nov 2020
say I fix one of the row indices " ind" .If I try say find(A(ind,:)>0.1) I get the error : "Operation '>' not supported for operands of type table " .In general how do I just go back to some classic matrix from a table ignoring these Variable names?
There's no guarantee you can "slice" the table across rows -- the variables may contain data of different data types.
load patients
T = table(LastName, Gender, Age, Smoker);
head(T)
ans = 8x4 table
LastName Gender Age Smoker ____________ __________ ___ ______ {'Smith' } {'Male' } 38 true {'Johnson' } {'Male' } 43 false {'Williams'} {'Female'} 38 false {'Jones' } {'Female'} 40 false {'Brown' } {'Female'} 49 false {'Davis' } {'Female'} 46 false {'Miller' } {'Female'} 33 true {'Wilson' } {'Male' } 40 false
But if you can, you can use curly braces to extract the data into a numeric array.
A = magic(4)
A = 4×4
16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
T2 = array2table(A)
T2 = 4x4 table
A1 A2 A3 A4 __ __ __ __ 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
T2{3, :} % The same as A(3, :)
ans = 1×4
9 7 6 12
  1 Comment
Mihai Milea
Mihai Milea on 27 Nov 2020
Did not work this way but your answer works fine with readcell instead od readtable -:))

Sign in to comment.

More Answers (1)

KSSV
KSSV on 26 Nov 2020
You have to access the columns of Table T using T.(1), T.(2) etc,
Read about accessing the columns from tatble. If you have names to the columns, you can use
T.col1, T.col2 etc to access the respective columns.
  3 Comments
KSSV
KSSV on 26 Nov 2020
Use xlsread and get all the data into a matrix.
Mihai Milea
Mihai Milea on 26 Nov 2020
Does not read this csv file .readcell works but instead of table I get some cell structure which gives the same error

Sign in to comment.

Categories

Find more on Tables in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!