library(tidyverse)
library(magrittr)
library(vcd)
library(vcdExtra)

Exercise 2.3

ucb <- datasets::UCBAdmissions

# (a)
dimnames(ucb)
## $Admit
## [1] "Admitted" "Rejected"
## 
## $Gender
## [1] "Male"   "Female"
## 
## $Dept
## [1] "A" "B" "C" "D" "E" "F"
ftable(ucb)
##                 Dept   A   B   C   D   E   F
## Admit    Gender                             
## Admitted Male        512 353 120 138  53  22
##          Female       89  17 202 131  94  24
## Rejected Male        313 207 205 279 138 351
##          Female       19   8 391 244 299 317
prod(dim(ucb))
## [1] 24
# (b)
apply(ucb, 3, sum)
##   A   B   C   D   E   F 
## 933 585 918 792 584 714
# (c)
ftable(Admit ~ Dept, data = ucb) %>%
  prop.table(margin = 1)
##      Admit   Admitted   Rejected
## Dept                            
## A          0.64415863 0.35584137
## B          0.63247863 0.36752137
## C          0.35076253 0.64923747
## D          0.33964646 0.66035354
## E          0.25171233 0.74828767
## F          0.06442577 0.93557423
# (d)
total <- ftable(Gender ~ Dept, ucb)
admitted <- ucb["Admitted", , ] %>%
  t()
admitted / total
##     Gender
## Dept       Male     Female
##    A 0.62060606 0.82407407
##    B 0.63035714 0.68000000
##    C 0.36923077 0.34064081
##    D 0.33093525 0.34933333
##    E 0.27748691 0.23918575
##    F 0.05898123 0.07038123
# or
prop.table(ucb, c(3, 2))["Admitted", , ] %>%
  t()
##     Gender
## Dept       Male     Female
##    A 0.62060606 0.82407407
##    B 0.63035714 0.68000000
##    C 0.36923077 0.34064081
##    D 0.33093525 0.34933333
##    E 0.27748691 0.23918575
##    F 0.05898123 0.07038123

Exercise 2.5

soccer <- vcd::UKSoccer

# (a)
sum(soccer)
## [1] 380
# (b)
(home <- margin.table(soccer, 1))
## Home
##   0   1   2   3   4 
##  76 142  90  45  27
(away <- margin.table(soccer, 2))
## Away
##   0   1   2   3   4 
## 140 136  55  38  11
# (c)
prop.table(home)
## Home
##          0          1          2          3          4 
## 0.20000000 0.37368421 0.23684211 0.11842105 0.07105263
prop.table(away)
## Away
##          0          1          2          3          4 
## 0.36842105 0.35789474 0.14473684 0.10000000 0.02894737
# (d)
plot(home)

plot(away)

Seems like that home team have more goals than away team.