Exercise 5.1 The data set criminal in the package logmult gives the 4 × 5 table below of the number of men aged 15-19 charged with a criminal case for whom charges were dropped in Denmark from 1955-1958.

library("logmult")
## Warning: package 'logmult' was built under R version 3.4.4
## Loading required package: gnm
## Warning: package 'gnm' was built under R version 3.4.4
## 
## Attaching package: 'logmult'
## The following object is masked from 'package:gnm':
## 
##     se
library("MASS")
## Warning: package 'MASS' was built under R version 3.4.4
data("criminal",package="logmult")
criminal
##       Age
## Year    15  16  17  18  19
##   1955 141 285 320 441 427
##   1956 144 292 342 441 396
##   1957 196 380 424 462 427
##   1958 212 424 399 442 430
  1. Use loglm() to test whether there is an association between Year and Age. Is there evidence that dropping of charges in relation to age changed over the years recorded here?
loglm(~Year+Age,data=criminal)
## Call:
## loglm(formula = ~Year + Age, data = criminal)
## 
## Statistics:
##                       X^2 df     P(> X^2)
## Likelihood Ratio 38.24466 12 0.0001400372
## Pearson          38.41033 12 0.0001315495

Based on the P-values, it can be concluded that there is small likelihood that there is an association between year and age.

  1. Use mosaic() with the option shade=TRUE to display the pattern of signs and magnitudes of the residuals.
library("vcd")
## Warning: package 'vcd' was built under R version 3.4.4
## Loading required package: grid
## 
## Attaching package: 'vcd'
## The following object is masked from 'package:logmult':
## 
##     assoc
library("mosaic")
## Warning: package 'mosaic' was built under R version 3.4.4
## Loading required package: dplyr
## Warning: package 'dplyr' was built under R version 3.4.4
## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:MASS':
## 
##     select
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
## Loading required package: lattice
## Warning: package 'lattice' was built under R version 3.4.4
## 
## Attaching package: 'lattice'
## The following object is masked from 'package:gnm':
## 
##     barley
## Loading required package: ggformula
## Warning: package 'ggformula' was built under R version 3.4.4
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 3.4.4
## 
## New to ggformula?  Try the tutorials: 
##  learnr::run_tutorial("introduction", package = "ggformula")
##  learnr::run_tutorial("refining", package = "ggformula")
## Loading required package: mosaicData
## Warning: package 'mosaicData' was built under R version 3.4.4
## Loading required package: Matrix
## 
## The 'mosaic' package masks several functions from core packages in order to add 
## additional features.  The original behavior of these functions should not be affected by this.
## 
## Note: If you use the Matrix package, be sure to load it BEFORE loading mosaic.
## 
## Attaching package: 'mosaic'
## The following object is masked from 'package:Matrix':
## 
##     mean
## The following objects are masked from 'package:dplyr':
## 
##     count, do, tally
## The following object is masked from 'package:vcd':
## 
##     mplot
## The following objects are masked from 'package:stats':
## 
##     binom.test, cor, cor.test, cov, fivenum, IQR, median,
##     prop.test, quantile, sd, t.test, var
## The following objects are masked from 'package:base':
## 
##     max, mean, min, prod, range, sample, sum
Criminal_Margin=margin.table(criminal,1:2)
Criminal_Margin
##       Age
## Year    15  16  17  18  19
##   1955 141 285 320 441 427
##   1956 144 292 342 441 396
##   1957 196 380 424 462 427
##   1958 212 424 399 442 430
mosaic(Criminal_Margin,shade = TRUE)

Compare this with the result of mosaic() using “Friendly shading,” from the option gp=shading_Friendly. Describe verbally what you see in each regarding the pattern of association in this table.

mosaic(criminal,gp=shading_Friendly,shade = TRUE)

Both patterns are smilar, with the shaded areas being the residuals.

Exercise 5.9 Bertin (1983, pp. 30-31) used a 4-way table of frequencies of traffic accident victims in France in 1958 to illustrate his scheme for classifying data sets by numerous variables, each of which could have various types and could be assigned to various visual attributes. His data are contained in Accident in vcdExtra, a frequency data frame representing his 5 × 2 × 4 × 2 table of the variables age, result (died or injured), mode of transportation, and gender.

library("vcdExtra")
## Warning: package 'vcdExtra' was built under R version 3.4.4
## 
## Attaching package: 'vcdExtra'
## The following object is masked from 'package:dplyr':
## 
##     summarise
data("Accident",package="vcdExtra")
Accident
##      age  result       mode gender  Freq
## 1    50+    Died Pedestrian   Male   704
## 2    50+    Died Pedestrian Female   378
## 3    50+    Died    Bicycle   Male   396
## 4    50+    Died    Bicycle Female    56
## 5    50+    Died Motorcycle   Male   742
## 6    50+    Died Motorcycle Female    78
## 7    50+    Died  4-Wheeled   Male   513
## 8    50+    Died  4-Wheeled Female   253
## 9    50+ Injured Pedestrian   Male  5206
## 10   50+ Injured Pedestrian Female  5449
## 11   50+ Injured    Bicycle   Male  3863
## 12   50+ Injured    Bicycle Female  1030
## 13   50+ Injured Motorcycle   Male  8597
## 14   50+ Injured Motorcycle Female  1387
## 15   50+ Injured  4-Wheeled   Male  7423
## 16   50+ Injured  4-Wheeled Female  5552
## 17 30-49    Died Pedestrian   Male   223
## 18 30-49    Died Pedestrian Female    49
## 19 30-49    Died    Bicycle   Male   146
## 20 30-49    Died    Bicycle Female    24
## 21 30-49    Died Motorcycle   Male   889
## 22 30-49    Died Motorcycle Female    98
## 23 30-49    Died  4-Wheeled   Male   720
## 24 30-49    Died  4-Wheeled Female   199
## 25 30-49 Injured Pedestrian   Male  3178
## 26 30-49 Injured Pedestrian Female  1814
## 27 30-49 Injured    Bicycle   Male  3024
## 28 30-49 Injured    Bicycle Female  1118
## 29 30-49 Injured Motorcycle   Male 18909
## 30 30-49 Injured Motorcycle Female  3664
## 31 30-49 Injured  4-Wheeled   Male 15086
## 32 30-49 Injured  4-Wheeled Female  7712
## 33 20-29    Died Pedestrian   Male    78
## 34 20-29    Died Pedestrian Female    24
## 35 20-29    Died    Bicycle   Male    55
## 36 20-29    Died    Bicycle Female    10
## 37 20-29    Died Motorcycle   Male   660
## 38 20-29    Died Motorcycle Female    82
## 39 20-29    Died  4-Wheeled   Male   353
## 40 20-29    Died  4-Wheeled Female   107
## 41 20-29 Injured Pedestrian   Male  1521
## 42 20-29 Injured Pedestrian Female   864
## 43 20-29 Injured    Bicycle   Male  1565
## 44 20-29 Injured    Bicycle Female   609
## 45 20-29 Injured Motorcycle   Male 18558
## 46 20-29 Injured Motorcycle Female  4010
## 47 20-29 Injured  4-Wheeled   Male  9084
## 48 20-29 Injured  4-Wheeled Female  4361
## 49 10-19    Died Pedestrian   Male    70
## 50 10-19    Died Pedestrian Female    28
## 51 10-19    Died    Bicycle   Male    76
## 52 10-19    Died    Bicycle Female    31
## 53 10-19    Died Motorcycle   Male   362
## 54 10-19    Died Motorcycle Female    54
## 55 10-19    Died  4-Wheeled   Male   150
## 56 10-19    Died  4-Wheeled Female    61
## 57 10-19 Injured Pedestrian   Male  1827
## 58 10-19 Injured Pedestrian Female  1495
## 59 10-19 Injured    Bicycle   Male  3407
## 60 10-19 Injured    Bicycle Female  7218
## 61 10-19 Injured Motorcycle   Male 12311
## 62 10-19 Injured Motorcycle Female  3587
## 63 10-19 Injured  4-Wheeled   Male  3543
## 64 10-19 Injured  4-Wheeled Female  2593
## 65   0-9    Died Pedestrian   Male   150
## 66   0-9    Died Pedestrian Female    89
## 67   0-9    Died    Bicycle   Male    26
## 68   0-9    Died    Bicycle Female     5
## 69   0-9    Died Motorcycle   Male     6
## 70   0-9    Died Motorcycle Female     6
## 71   0-9    Died  4-Wheeled   Male    70
## 72   0-9    Died  4-Wheeled Female    65
## 73   0-9 Injured Pedestrian   Male  3341
## 74   0-9 Injured Pedestrian Female  1967
## 75   0-9 Injured    Bicycle   Male   378
## 76   0-9 Injured    Bicycle Female   126
## 77   0-9 Injured Motorcycle   Male   181
## 78   0-9 Injured Motorcycle Female   131
## 79   0-9 Injured  4-Wheeled   Male  1593
## 80   0-9 Injured  4-Wheeled Female  1362
  1. Use loglm() to fit the model of mutual independence, Freq ~ age+mode+gender+result to this data set.
Function = loglm(Freq ~ age+mode+gender+result, data = Accident)
Function
## Call:
## loglm(formula = Freq ~ age + mode + gender + result, data = Accident)
## 
## Statistics:
##                       X^2 df P(> X^2)
## Likelihood Ratio 60320.05 70        0
## Pearson          76865.31 70        0
  1. Use mosaic() to produce an interpretable mosaic plot of the associations among all variables under the model of mutual independence. Try different orders of the variables in the mosaic. (Hint: the abbreviate component of the labeling_args argument to mosaic() will be useful to avoid some overlap of the category labels.)
mosaic(xtabs(Function))

  1. Treat result (“Died” vs. “Injured”) as the response variable, and fit the model Freq ~ agemodegender + result that asserts independence of result from all others jointly.
Died_v_Injured=loglm(Freq ~ age * mode * gender + result, data = Accident)
Died_v_Injured
## Call:
## loglm(formula = Freq ~ age * mode * gender + result, data = Accident)
## 
## Statistics:
##                      X^2 df P(> X^2)
## Likelihood Ratio 2217.72 39        0
## Pearson          2347.60 39        0
  1. Construct a mosaic display for the residual associations in this model. Which combinations of the predictor factors are more likely to result in death?
mosaic(Died_v_Injured,shade=TRUE)

The mosaic plot shows that male pedestrians over 50 years of age are more liekly to have accidents that result in death and injury.