multiple_comparisons {biometryassist} | R Documentation |

## Perform Multiple Comparison Tests on a statistical model

### Description

A function for comparing and ranking predicted means with Tukey's Honest Significant Difference (HSD) Test.

### Usage

```
multiple_comparisons(
model.obj,
classify,
sig = 0.05,
int.type = "ci",
trans = NA,
offset = NA,
power = NA,
decimals = 2,
descending = FALSE,
plot = FALSE,
label_height = 0.1,
rotation = 0,
save = FALSE,
savename = "predicted_values",
order,
pred.obj,
pred,
...
)
```

### Arguments

`model.obj` |
An ASReml-R or aov model object. Will likely also work with |

`classify` |
Name of predictor variable as string. |

`sig` |
The significance level, numeric between 0 and 1. Default is 0.05. |

`int.type` |
The type of confidence interval to calculate. One of |

`trans` |
Transformation that was applied to the response variable. One of |

`offset` |
Numeric offset applied to response variable prior to transformation. Default is |

`power` |
Numeric power applied to response variable with power transformation. Default is |

`decimals` |
Controls rounding of decimal places in output. Default is 2 decimal places. |

`descending` |
Logical (default |

`plot` |
Automatically produce a plot of the output of the multiple comparison test? Default is |

`label_height` |
Height of the text labels above the upper error bar on the plot. Default is 0.1 (10%) of the difference between upper and lower error bars above the top error bar. |

`rotation` |
Rotate the text output as Treatments within the plot. Allows for easier reading of long treatment labels. Number between 0 and 360 (inclusive) - default 0 |

`save` |
Logical (default |

`savename` |
A file name for the predicted values to be saved to. Default is |

`order` |
Deprecated. Use |

`pred.obj` |
Deprecated. Predicted values are calculated within the function from version 1.0.1 onwards. |

`pred` |
Deprecated. Use |

`...` |
Other arguments passed through to |

### Details

Some transformations require that data has a small offset applied, otherwise it will cause errors (for example taking a log of 0, or square root of negative values). In order to correctly reverse this offset, if the `trans`

argument is supplied, an offset value must also be supplied. If there was no offset required for a transformation, then use a value of 0 for the `offset`

argument.

### Value

A list containing a data frame with predicted means, standard errors, confidence interval upper and lower bounds, and significant group allocations (named `predicted_values`

), as well as a plot visually displaying the predicted values (named `predicted_plot`

). If some of the predicted values are aliased, a warning is printed, and the aliased treatment levels are returned in the output (named `aliased`

).

### References

Jørgensen, E. & Pedersen, A. R. (1997). How to Obtain Those Nasty Standard Errors From Transformed Data - and Why They Should Not Be Used. https://pure.au.dk/portal/en/publications/how-to-obtain-those-nasty-standard-errors-from-transformed-data–and-why-they-should-not-be-used(d649ca20-d15f-11db-8e26-000ea68e967b).html

### Examples

```
# Fit aov model
model <- aov(Petal.Length ~ Species, data = iris)
# Display the ANOVA table for the model
anova(model)
# Determine ranking and groups according to Tukey's Test
pred.out <- multiple_comparisons(model, classify = "Species")
# Display the predicted values table
pred.out
# Show the predicted values plot
autoplot(pred.out, label_height = 0.5)
## Not run:
# ASReml-R Example
library(asreml)
#Fit ASReml Model
model.asr <- asreml(yield ~ Nitrogen + Variety + Nitrogen:Variety,
random = ~ Blocks + Blocks:Wplots,
residual = ~ units,
data = asreml::oats)
wald(model.asr) #Nitrogen main effect significant
#Determine ranking and groups according to Tukey's Test
pred.out <- multiple_comparisons(model.obj = model.asr, classify = "Nitrogen",
descending = TRUE, decimals = 5)
pred.out
# Example using a box-cox transformation
set.seed(42) # See the seed for reproducibility
resp <- rnorm(n = 50, 5, 1)^3
trt <- as.factor(sample(rep(LETTERS[1:10], 5), 50))
block <- as.factor(rep(1:5, each = 10))
ex_data <- data.frame(resp, trt, block)
# Change one treatment random values to get significant difference
ex_data$resp[ex_data$trt=="A"] <- rnorm(n = 5, 7, 1)^3
model.asr <- asreml(resp ~ trt,
random = ~ block,
residual = ~ units,
data = ex_data)
resplot(model.asr)
# Perform Box-Cox transformation and get maximum value
out <- MASS::boxcox(ex_data$resp~ex_data$trt)
out$x[which.max(out$y)] # 0.3838
# Fit cube root to the data
model.asr <- asreml(resp^(1/3) ~ trt,
random = ~ block,
residual = ~ units,
data = ex_data)
resplot(model.asr) # residual plots look much better
#Determine ranking and groups according to Tukey's Test
pred.out <- multiple_comparisons(model.obj = model.asr,
classify = "trt",
trans = "power", power = (1/3))
pred.out
autoplot(pred.out)
## End(Not run)
```

*biometryassist*version 1.2.1 Index]