How to convert a table data to numeric data without loosing data

42 views (last 30 days)
I have a tabel data and I would like convert it to numeric data. I have used table2aray then I get the into String.But I want it as a Numeric data and Then I used str2double and I got the double type data where I lost the sata of 6 column.Now I want to conert my table data into Numeric and No information could not be lost.Please help me with this using MATALAB
  1 Comment
Arif Hoq
Arif Hoq on 18 Mar 2022
data of column 6 is string, so if you want to convert into numeric it will return 'NaN'. you have to work with this column 6 as a cell array of character vector or a string array.
what is you expectation except this ?

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 18 Mar 2022
data = table([1;2], [3;4], [5;6], ["Healthy";"Disease"], 'variablenames', {'Energy', 'variance', 'std', 'class'})
data = 2×4 table
Energy variance std class ______ ________ ___ _________ 1 3 5 "Healthy" 2 4 6 "Disease"
[data.class, groups] = findgroups(data.class)
data = 2×4 table
Energy variance std class ______ ________ ___ _____ 1 3 5 2 2 4 6 1
groups = 2×1 string array
"Disease" "Healthy"
table2array(data)
ans = 2×4
1 3 5 2 2 4 6 1
That is, the class data has been grouped into categories, and for each entry a category number was generated and replaces the strings in the table. Now the class column is a code that indicates the class, but has no inherent numeric meaning. You can take the value of the column and use it to index the groups variable to recover the class string information.

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!