Effacer les filtres
Effacer les filtres

how can I write a function

2 vues (au cours des 30 derniers jours)
Manav Divekar
Manav Divekar le 17 Nov 2021
Commenté : Dave B le 18 Nov 2021
i have a data base with name gender and age not necessarily in the same order, some data base is gender name age. for example
'name' 'gender' 'age'
'mary' 'f' 25
'john' 'm' 35
'anna' 'f' 30
'paul' 'm' 22
'elaina' 'f' 38
if i have to use this database as cell array and only get the names of male how i do so?

Réponse acceptée

Dave B
Dave B le 17 Nov 2021
Modifié(e) : Dave B le 17 Nov 2021
Your data look similar to this (as you've described them):
load patients
data=[{'name'} {'gender'} {'age'}; LastName Gender num2cell(Age)]
You just use strcmp to compare strings, and specify you want the rows where gender contains 'm' and column 1
data(strcmp(data(:,2),'Male'),1) % obviously you'll use 'm' in your case
ans = 47×1 cell array
{'Smith' } {'Johnson' } {'Wilson' } {'Moore' } {'Jackson' } {'White' } {'Martin' } {'Thompson' } {'Martinez' } {'Robinson' } {'Hall' } {'Hernandez'} {'King' } {'Scott' } {'Green' } {'Baker' } {'Nelson' } {'Mitchell' } {'Perez' } {'Roberts' } {'Turner' } {'Phillips' } {'Parker' } {'Edwards' } {'Collins' } {'Stewart' } {'Reed' } {'Bell' } {'Murphy' } {'Ward' }
If it were me, I'd put these in a table and use strings, it's so much better!
t=array2table(data(2:end,:),'VariableNames',data(1,:));
t.name=string(t.name);
t.gender=categorical(t.gender);
t.age=cell2mat(t.age);
t.name(t.gender=="Male")
ans = 47×1 string array
"Smith" "Johnson" "Wilson" "Moore" "Jackson" "White" "Martin" "Thompson" "Martinez" "Robinson" "Hall" "Hernandez" "King" "Scott" "Green" "Baker" "Nelson" "Mitchell" "Perez" "Roberts" "Turner" "Phillips" "Parker" "Edwards" "Collins" "Stewart" "Reed" "Bell" "Murphy" "Ward"
  5 commentaires
Manav Divekar
Manav Divekar le 18 Nov 2021
with this code im getting an emply cell.
Dave B
Dave B le 18 Nov 2021
Sorry i've updated the code, and added a demo (but really my intent ws to give you a strategy you can use rather than to write the code for you).

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Data Type Conversion dans Help Center et File Exchange

Tags

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by