replace number by string
3 views (last 30 days)
Show older comments
Mohammed Kamruzzaman
on 9 Apr 2015
Answered: Jos (10584)
on 10 Apr 2015
I have a vector with numeric values and I would like to replace the number in a given cell by a string (data are attached). For instance, 23=BDHE, 9997=BEIS, 11=CUAL, 4=CTGB, 60=MYMU, 1010=INJP, 3006=YNTA, and 80=TRQO. Thanks in Advance.
0 Comments
Accepted Answer
Mohammad Abouali
on 10 Apr 2015
Well, a quick solution would be:
valueCell={ 23,23,23, ...
9997,9997,9997,9997,9997,9997,9997, ...
11,11,11,11,11,11,11, ...
4,4,4,4,4, ...
60,60,60,60,60,60, ...
1010,1010,1010,1010,1010,1010,1010,1010, ...
3006,3006,3006,3006,3006, ...
80,80,80,80,80};
strCell=cell(size(valueCell));
strCell( cellfun(@(c) c==23,valueCell) )={'BDHE'};
strCell( cellfun(@(c) c==9997,valueCell) )={'BEIS'};
strCell( cellfun(@(c) c==11,valueCell) )={'CUAL'};
strCell( cellfun(@(c) c==4,valueCell))={'CTGB'};
strCell( cellfun(@(c) c==60,valueCell) )={'MYMU'};
strCell( cellfun(@(c) c==1010,valueCell) )={'INJP'};
strCell( cellfun(@(c) c==3006,valueCell) )={'YNTA'};
strCell( cellfun(@(c) c==80,valueCell) )={'TRQO'};
But a better solution would be
valueCell={ 23,23,23, ...
9997,9997,9997,9997,9997,9997,9997, ...
11,11,11,11,11,11,11, ...
4,4,4,4,4, ...
60,60,60,60,60,60, ...
1010,1010,1010,1010,1010,1010,1010,1010, ...
3006,3006,3006,3006,3006, ...
80,80,80,80,80};
valueTable=cell2table(valueCell','VariableNames',{'value'});
conversionTable=table([ 23, 9997, 11, 4, 60, 1010, 3006, 80]', ...
{'BDHE','BEIS','CUAL','CTGB','MYMU','INJP','YNTA','TRQO'}', ...
'VariableNames',{'value','str'});
strTable=join(valueTable,conversionTable);
More Answers (1)
Jos (10584)
on 10 Apr 2015
% conversion rules V(k) corresponds to S(k):
V = [ 3 4 6 9 1] ;
S = {'AA','B','CCC','D','EEE'} ;
ValuesIn = [3 6 4 6 3 1 9 9 0 4 4 1 3] % note the 0!
% engine to convert ValuesIn to StrOut
StrOut = repmat({'Unknown'},size(ValuesIn)) ;
[tf, idx] =ismember(ValuesIn, V) ;
StrOut(tf) = S(idx(tf))
0 Comments
See Also
Categories
Find more on Migrate GUIDE Apps 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!