# proportion of gender having health issue

1 view (last 30 days)
Doaa Alamoudi on 31 May 2020
Commented: Doaa Alamoudi on 31 May 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 CommentsShowHide 1 older comment
Doaa Alamoudi on 31 May 2020
Thank you

Image Analyst on 31 May 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
Doaa Alamoudi on 31 May 2020
I rewrite based on your suggestion and I think it looks bettern now. However I have problem in creating figure showing the result
score=sdq;
BoyGender= (sex == 1);
GirlGender=(sex==2);
BoysMentalHealthProblem = sum(score > 17 & BoyGender)
GirlsMentalHealthProblem = sum(score > 17 & GirlGender)

dpb on 31 May 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
Doaa Alamoudi on 31 May 2020