computing vectors with string and numbers (easy question)
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Andrea Miceli
il 25 Mar 2021
Modificato: Paul Hoffrichter
il 26 Mar 2021
Hi evreyone,
I have a vector of names(str vector) and i would like to associate a number to each name
For example evreytime that the name 'Andrea' came up in the first vectror in the second one it gives me back the number 3.
Thank you for your time!
2 Commenti
Stephen23
il 25 Mar 2021
"I have a vector of 12 names(str vector) and i would like to associate a number to each name (so from 1:12)."
That just sounds like the indices.
Risposta accettata
Paul Hoffrichter
il 26 Mar 2021
Modificato: Paul Hoffrichter
il 26 Mar 2021
Here is code that keeps the indexing scheme based upon the order in which the names occur in your vector of strings.
>> S = ["Howard" "Howard" "joe" "april" "andrea" "joe" "andrea" "Howard"]
S =
1×8 string array
"Howard" "Howard" "joe" "april" "andrea" "joe" "andrea" "Howard"
>> SUniq = unique(S, 'stable')
SUniq =
1×4 string array
"Howard" "joe" "april" "andrea"
>> [~, Locb] = ismember(S, SUniq)
Locb =
1 1 2 3 4 2 4 1
0 Commenti
Più risposte (1)
Paul Hoffrichter
il 25 Mar 2021
Modificato: Paul Hoffrichter
il 25 Mar 2021
>> S = ["joe" "april" "andrea" "joe" "andrea"]
S =
1×5 string array
"joe" "april" "andrea" "joe" "andrea"
>> SU = unique(S)
SU =
1×3 string array
"andrea" "april" "joe"
>> [~,Locb] = ismember(S, SU)
Locb =
3 2 1 3 1
Every time "joe" came up in S, it shows up as a 3 in Locb.
Every time "andrea" came up in S, it shows up as a 1 in Locb.
Every time "april" came up in S (only 1 time), it shows up as a 2 in Locb.
0 Commenti
Vedere anche
Categorie
Scopri di più su Cell Arrays 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!