Nominal to useful without changing values
1 次查看(过去 30 天)
显示 更早的评论
Part of my dataset is imported from an excel file, and several variables (with numeric values) were imported as cell strings. I need to convert the variable type to double so that I can run correlations with other variables.
I can convert to nominal type, but when I try to convert to a double or number (e.g. with 'double' or 'mat'), the values change (some becoming less than half of original value). Is there a way that I can convert the variable type while keeping the value of the variable for each observation, or do I need to re-import all of my data from excel one column at a time?
0 个评论
回答(2 个)
Oleg Komarov
2012-8-14
a = '23';
str2num(a)
str2double(a)
2 个评论
Oleg Komarov
2012-8-14
a = {'23','33'; '12','1'};
cellfun(@str2num,a)
str2double(a)
Both approached work, I would go for str2double.
Azzi Abdelmalek
2012-8-14
编辑:Azzi Abdelmalek
2012-8-14
here an example:
A={'12' '45';'77' '15';'87' '524'} %your cell array
result=cellfun(@(x) str2num(x),A)
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Import from MATLAB 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!