proportion of gender having health issue
    5 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Doaa Alamoudi
 il 31 Mag 2020
  
    
    
    
    
    Commentato: Doaa Alamoudi
 il 31 Mag 2020
            I have a table that has Gender vector  (1=Boy, 2=Girl) and Healtissue  (based on score). I would like to know the proportion of girls only have a health issue if their score more than 17? 
2 Commenti
  dpb
      
      
 il 31 Mag 2020
				Look at findgroups, groupsummary with the Subject "Split-Apply-Combine" workflow under splitapply
Many examples...
Risposta accettata
  Image Analyst
      
      
 il 31 Mag 2020
        Assume t is your table and you have a column for gender, a column with HealthScore (true or false), and a column for their score (continously-valued number).  Then try
% Find rows with girls who have a score more than 17.
rows1 = (t.Gender == 2) & (t.Score > 17) 
% Now find girls with a score more than 17 who ALSO have a health issue (may not be 100% - may only be part of them).
rows2 = (t.Gender == 2) & (t.Score > 17) & t.HealthIssue  % Assuming this is a logical column.
proportion = rows2 / rows1
5 Commenti
  Image Analyst
      
      
 il 31 Mag 2020
				I'd do
maleRows = (sex == 1);  % To get male students only.
femaleRows = (sex == 2); % To get female students only.
Più risposte (1)
  dpb
      
      
 il 31 Mag 2020
        Some other things to explore...
hScore=randi(100,100,1)/4;                                          % An artificial dataset...
sex=(rand(size(hScore))>0.5)+1;                                     % 50:50 roughly
tMH=table(sex,hScore,'VariableNames',{'Gender','HealthIssue'});     % make a table
tMH.Gender=categorical(tMH.Gender,[1,2],{'Boy','Girl'});            % turn into categorical instead
tMH.AtRisk=categorical(tMH.HealthIssue>17);                         % compute the risk factor
heatmap(tMH,'Sex','AtRisk')                                         % one way to look at results...
Results will vary for a random sample, but for the particular dataset generated here:
>> groupsummary(tMH,'Gender')
ans =
  2×2 table
    Gender    GroupCount
    ______    __________
     Boy          51    
     Girl         49    
>> groupsummary(tMH,'AtRisk')
ans =
  2×2 table
    AtRisk    GroupCount
    ______    __________
    false         68    
    true          32    
>> groupsummary(tMH,{'Gender','AtRisk'})
ans =
  4×3 table
    Gender    AtRisk    GroupCount
    ______    ______    __________
     Boy      false         37    
     Boy      true          14    
     Girl     false         31    
     Girl     true          18    
>> 
You can compute percentages from the GroupCounts depending upon whether want by Gender or overall...the above produces

Vedere anche
Categorie
				Scopri di più su Loops and Conditional Statements 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!