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 个评论

str2double?
ds = cell2dataset({'ID';'123';'1234'});
str2double(ds.ID)
ans =
123
1234

请先登录,再进行评论。

回答(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 个评论

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

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Data Type Conversion 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by