Compare model objects with F test and likelihood ratio test
pairwiseModelAnova.RdCompares a series of models with pairwise F tests and likelihood ratio tests.
Value
A list of: The calls of the models compared; a data frame of comparisons and F tests; and a data frame of comparisons and likelihood ratio tests.
Details
For comparisons to be valid, both models must have the same data, without transformations, use the same dependent variable, and be fit with the same method.
To be valid, models need to be nested.
Author
Salvatore Mangiafico, mangiafico@njaes.rutgers.edu
Examples
### Compare among polynomial models
data(BrendonSmall)
BrendonSmall$Calories = as.numeric(BrendonSmall$Calories)
BrendonSmall$Calories2 = BrendonSmall$Calories * BrendonSmall$Calories
BrendonSmall$Calories3 = BrendonSmall$Calories * BrendonSmall$Calories *
BrendonSmall$Calories
BrendonSmall$Calories4 = BrendonSmall$Calories * BrendonSmall$Calories *
BrendonSmall$Calories * BrendonSmall$Calories
model.1 = lm(Sodium ~ Calories, data = BrendonSmall)
model.2 = lm(Sodium ~ Calories + Calories2, data = BrendonSmall)
model.3 = lm(Sodium ~ Calories + Calories2 + Calories3, data = BrendonSmall)
model.4 = lm(Sodium ~ Calories + Calories2 + Calories3 + Calories4,
data = BrendonSmall)
pairwiseModelAnova(model.1, model.2, model.3, model.4)
#> $Models
#> Model
#> 1 Sodium ~ Calories
#> 2 Sodium ~ Calories + Calories2
#> 3 Sodium ~ Calories + Calories2 + Calories3
#> 4 Sodium ~ Calories + Calories2 + Calories3 + Calories4
#> Call
#> 1 Sodium ~ Calories
#> 2 Sodium ~ Calories + Calories2
#> 3 Sodium ~ Calories + Calories2 + Calories3
#> 4 Sodium ~ Calories + Calories2 + Calories3 + Calories4
#>
#> $Anova.test.table
#> Comparison Df.diff RSS.diff F p.value
#> 1 1 - 2 = 0 1 32924.3 43.0783 6.14318e-08
#> 2 1 - 3 = 0 2 33045.9 21.1841 4.80354e-07
#> 3 1 - 4 = 0 3 37430.8 18.0866 1.42286e-07
#> 4 2 - 3 = 0 1 121.52 0.155801 0.695098
#> 5 2 - 4 = 0 2 4506.47 3.2663 0.048535
#> 6 3 - 4 = 0 1 4384.95 6.35644 0.0157833
#>
#> $Likelihood.ratio.test.table
#> Comparison Df.diff LogLik.diff Chi.sq p.value
#> 1 1 - 2 = 0 1 15.88 31.77 1.739e-08
#> 2 1 - 3 = 0 2 15.97 31.94 1.162e-07
#> 3 1 - 4 = 0 3 19.29 38.57 2.138e-08
#> 4 2 - 3 = 0 1 0.08534 0.1707 0.6795
#> 5 2 - 4 = 0 2 3.404 6.807 0.03325
#> 6 3 - 4 = 0 1 3.318 6.637 0.00999
#>