conversion of a dataset array

2 views (last 30 days)
Matthew
Matthew on 22 Apr 2014
Commented: Andreas Justin on 23 Apr 2014
Hi.
I have the following dataset:
ID SP MD FI
'1234' 'BBB-' 'Baa3' []
'1235' [] [] 'A-'
'1236' 'BB' 'Ba1' 'BB+'
'1237' 'A' 'A3' []
This table was created from a cell to dataset.
Now I know it looks like it but ID is not a string (I think) and I'm trying to do a str2num and this is failing.
Does anyone know how to convert ID into a number?
  1 Comment
Andreas Justin
Andreas Justin on 22 Apr 2014
Edited: Andreas Justin on 22 Apr 2014
str2double?
ds = cell2dataset({'ID';'123';'1234'});
str2double(ds.ID)
ans =
123
1234

Sign in to comment.

Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 22 Apr 2014
A={'ID' 'SP' 'MD' 'FI'
'1234' 'BBB-' 'Baa3' []
'1235' [] [] 'A-'
'1236' 'BB' 'Ba1' 'BB+'
'1237' 'A' 'A3' []}
B=cell2dataset(A)
B.ID=str2double(B.ID)
  2 Comments
Matthew
Matthew on 23 Apr 2014
Azzi / Andreas,
Thank you for your help.
I tried your code before and have tried it since you have sent it.
The following error message is produced:
Error using cell2dataset (line 127) NEWNAMES must be a nonempty string or a cell array of nonempty strings.
The 'ID' column is not a string which is causing the issue.
Andreas Justin
Andreas Justin on 23 Apr 2014
could you show us the value of NEWNAMES when this error happens?
and the line of code you're using cell2dataset

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!