Convert a numerical variable in a table to string
219 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Boushra Dalile
il 3 Mag 2018
Modificato: Guillaume
il 4 Mag 2018
I have a table T with 5 variables/columns
The 3rd variable (pic), with 75 rows, is basically pic = [70, 40, 60, 70, 50, 65...] How can I convert this one variable in the able to a string? I need to do that so I can carry out strrep later on.
T = string (T(:,3)) is not working. Any ideas where I am going wrong?
Thanks heaps!
3 Commenti
Guillaume
il 3 Mag 2018
Modificato: Guillaume
il 4 Mag 2018
It seems odd to want to replace numerical value with text. Nonetheless, all this replacement can be done a lot more easily and certainly a lot faster without having to convert any of the numbers to text beforehand.
To show you how to do that, you need to be a bit clearer on what is replaced by what. Give an example using valid matlab syntax.
edit: see Walter's answer for what I mean, using a lookup table will be a lot faster than converting numbers to strings
Risposta accettata
Walter Roberson
il 3 Mag 2018
zlookup = {'z1', 'z2', 'z3'};
T3 = T{:,3};
[tf, idx] = ismember(T3, [60, 40, 30]);
out = cell(length(tf),1);
out(tf) = zlookup(idx(tf));
out(~tf) = sprintfc('%g', T3(~tf));
T{:,3} = out;
0 Commenti
Più risposte (2)
CARLOS RIASCOS
il 3 Mag 2018
Starting from the fact that you have the variable 'pic = [70, 40, 60, 70, 50, 65 ...]' defined you could convert that row vector like this:
g = num2str(pic)
The variable g will contain the string produced by pic.
1 Commento
Walter Roberson
il 3 Mag 2018
Be sure to pass in a column vector.
The result will be a char array. To convert to string objects, cellstr() and string() the results.
Vedere anche
Categorie
Scopri di più su Data Type Conversion in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!