conversion of a dataset array

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 Commento

Andreas Justin
Andreas Justin il 22 Apr 2014
Modificato: Andreas Justin il 22 Apr 2014
str2double?
ds = cell2dataset({'ID';'123';'1234'});
str2double(ds.ID)
ans =
123
1234

Accedi per commentare.

Risposte (1)

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 Commenti

Matthew
Matthew il 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.
could you show us the value of NEWNAMES when this error happens?
and the line of code you're using cell2dataset

Accedi per commentare.

Richiesto:

il 22 Apr 2014

Commentato:

il 23 Apr 2014

Community Treasure Hunt

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

Start Hunting!

Translated by