| Type: | Package |
| Title: | Nonparametric ANCOVA Methods |
| Version: | 0.2.0 |
| Date: | 2026-07-17 |
| Description: | Nonparametric methods for analysis of covariance (ANCOVA) are distribution-free and provide a flexible statistical framework for situations where the assumptions of parametric ANCOVA are violated or when the response variable is ordinal. This package implements several well-known nonparametric ANCOVA procedures, including Quade, Puri and Sen, McSweeney and Porter, Burnett and Barr, Hettmansperger and McKean, Shirley, and Puri-Sen-Harwell-Serlin. The package provides user-friendly functions to apply these methods in practice. These methods are described in Olejnik et al. (1985) <doi:10.1177/0193841X8500900104> and Harwell et al. (1988) <doi:10.1037/0033-2909.104.2.268>. |
| License: | GPL-3 |
| URL: | https://github.com/MinaJahangiri/npANCOVA |
| BugReports: | https://github.com/MinaJahangiri/npANCOVA/issues |
| Depends: | R (≥ 4.0) |
| Imports: | stats |
| Encoding: | UTF-8 |
| RoxygenNote: | 7.3.3 |
| NeedsCompilation: | no |
| Author: | Mina Jahangiri |
| Maintainer: | Mina Jahangiri <minajahangiri984@gmail.com> |
| Packaged: | 2026-07-17 10:21:33 UTC; USER |
| Repository: | CRAN |
| Date/Publication: | 2026-07-17 19:40:02 UTC |
npANCOVA: Nonparametric ANCOVA Methods
Description
The npANCOVA package provides a unified framework for performing nonparametric Analysis of Covariance (ANCOVA) methods, including Quade, Puri and Sen, McSweeney and Porter, Burnett and Barr, Hettmansperger and McKean, Shirley, and Puri-Sen-Harwell-Serlin. The package provides user-friendly functions to apply these methods in practice.
Details
This package is designed for researchers and statisticians who need to perform ANCOVA when the assumptions of classical parametric ANCOVA, such as normality of residuals is not met, or when the response variable is ordinal.
Primary Functions
Burnett_BarrThe Burnett and Barr rank-based method compares groups while adjusting for only one covariate.
Harwell_SerlinPerforms the Harwell and Serlin method using ranked response and covariate variables.
Hettmansperger_McKeanApplies rank-based residual analysis for ANCOVA, and then performs an ANOVA on the (weighted) ranked residuals.
McSweeney_PorterPerforms rank-based ANCOVA with and without an interaction term between the covariates and the group.
Puri_Sen_UVCMPerforms the Puri and Sen method using an unbiased variance-covariance matrix.
Puri_Sen_BVCMPerforms the Puri and Sen method using a biased variance-covariance matrix.
QuadePerforms Quade’s ANCOVA using ranked variables and analysis of residuals using ANOVA.
ShirleyCalculates group and interaction effects based on ranked response and covariate variables using changes in R-squared values between models.
summary_npANCOVAFormats and prints the inferential results obtained from a fitted nonparametric ANCOVA method.
pairwise_npANCOVAPerforms pairwise post hoc comparisons based on the chosen nonparametric ANCOVA method.
Author(s)
Maintainer: Mina Jahangiri minajahangiri984@gmail.com (ORCID)
Authors:
Other contributors:
See Also
Useful links:
Report bugs at https://github.com/MinaJahangiri/npANCOVA/issues
Burnett and Barr Method for Nonparametric ANCOVA
Description
Implements the Burnett and Barr rank-based method for ANCOVA. This method compares groups while adjusting for only one covariate.
Usage
Burnett_Barr(formula, data)
Arguments
formula |
An object of class "formula": a symbolic description of the model to be fitted. The structure should be 'response ~ covariate + group'. The grouping variable should be the last term in the formula. |
data |
A data frame containing the variables specified in the formula. All variables used in the model should be complete; missing values are not allowed. |
Value
A list containing the following components:
- regression_equation
The summary of the fitted linear model.
- anova
The ANOVA table from the fitted model.
- data
The original data frame with added rank columns.
References
Burnett, T. D., & Barr, D. R. (1977). A nonparametric analogy of analysis of covariance. Educational and Psychological Measurement, 37(2), 341-348.
Olejnik, S. F., & Algina, J. (1985). A review of nonparametric alternatives to analysis of covariance. Journal of Educational Research, 9(1), 51-83.
Examples
# 1. Create a sample data frame
data <- data.frame(
group = c(1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3),
response = c(16, 60, 82, 126, 137, 44, 67, 87, 100, 142, 17, 28, 105, 149, 160),
covariate1 = c(26, 10, 42, 49, 55, 21, 28, 5, 12, 58, 1, 19, 41, 48, 35)
)
# 2. Run the Burnett and Barr method
results <- Burnett_Barr(
formula = response ~ covariate1 + group,
data = data
)
# 3. View the results
print(results)
print(results$anova)
Harwell and Serlin Method for Nonparametric ANCOVA
Description
Performs the Harwell and Serlin method using ranked response and covariate variables.
Usage
Harwell_Serlin(formula, data)
Arguments
formula |
An object of class "formula": a symbolic description of the model to be fitted. The structure should be 'response ~ covariate1 + ... + group'. The grouping variable should be the last term in the formula. |
data |
A data frame containing the variables specified in the formula. All variables used in the model should be complete; missing values are not allowed. |
Value
A list containing the following components:
- regression_equation
The summary of the fitted linear model.
- anova
The ANOVA table from the fitted model.
- statistics
The Harwell-Serlin test statistic.
- df
The degrees of freedom for the test.
- p_value
The p-value of the test.
- data
The original data frame with added rank columns.
References
Harwell, M. R., & Serlin, R. C. (1988). An empirical study of a proposed test of nonparametric analysis of covariance. Psychological Bulletin, 104(2), 268.
Examples
# 1. Create a sample data frame
data <- data.frame(
group = c(1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3),
response = c(16, 60, 82, 126, 137, 44, 67, 87, 100, 142, 17, 28, 105, 149, 160),
covariate1 = c(26, 10, 42, 49, 55, 21, 28, 5, 12, 58, 1, 19, 41, 48, 35),
covariate2 = c(12, 21, 24, 29, 34, 17, 2, 40, 38, 36, 8, 1, 9, 28, 16)
)
# 2. Run the Harwell and Serlin method
results <- Harwell_Serlin(
formula = response ~ covariate1 + covariate2 + group,
data = data
)
# 3. View the results
print(results)
print(paste("Statistic:", results$statistics,
"df:", results$df,
"P-value:", results$p_value))
Hettmansperger and McKean Method for ANCOVA
Description
Applies rank-based residual analysis for ANCOVA. This method involves fitting a model of the response on the covariate (s), calculating residuals, ranking them, and then performing an ANOVA on the (weighted) ranked residuals.
Usage
Hettmansperger_McKean(formula, data)
Arguments
formula |
An object of class "formula": a symbolic description of the model to be fitted. The structure should be 'response ~ covariate1 + ... + group'. The grouping variable should be the last term in the formula. |
data |
A data frame containing the variables specified in the formula. All variables used in the model should be complete; missing values are not allowed. |
Value
A list containing the following components:
- regression_equation_covariate
The summary of the initial model fitting response on covariates.
- regression_equation_residuals
The summary of the model fitting weighted ranked residuals on the group.
- group_means
A data frame of the mean of weighted ranked residuals for each group.
- group_sds
A data frame of the standard deviation of weighted ranked residuals for each group.
- anova
The ANOVA table for the model based on weighted ranked residuals.
- statistic
The test statistic.
- df
The degrees of freedom for the test.
- p_value
The p-value of the test.
- data
The original data frame augmented with residuals, ranked residuals, and weighted ranked residuals.
References
Hettmansperger, T. P., & McKean, J. W. (1977). A robust alternative based on ranks to least squares in analyzing linear models. Technometrics, 19(3), 275-284.
Hettmansperger, T. P., & McKean, J. W. (1983). A geometric interpretation of inferences based on ranks in the linear model. Journal of the American Statistical Association, 78(384), 885-893.
Examples
# 1. Create a sample data frame
data <- data.frame(
group = c(1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3),
response = c(16, 60, 82, 126, 137, 44, 67, 87, 100, 142, 17, 28, 105, 149, 160),
covariate1 = c(26, 10, 42, 49, 55, 21, 28, 5, 12, 58, 1, 19, 41, 48, 35),
covariate2 = c(12, 21, 24, 29, 34, 17, 2, 40, 38, 36, 8, 1, 9, 28, 16)
)
# 2. Run the Hettmansperger and McKean method
results <- Hettmansperger_McKean(
formula = response ~ covariate1 + covariate2 + group,
data = data
)
# 3. View the results
print(results)
print(paste("Statistic:", results$statistics,
"df:", results$df,
"P-value:", results$p_value))
McSweeney and Porter Method for Nonparametric ANCOVA
Description
Performs rank-based ANCOVA with and without an interaction term between the covariates and the group.
Usage
McSweeney_Porter(formula, data)
Arguments
formula |
An object of class "formula": a symbolic description of the model to be fitted. The structure should be 'response ~ covariate1 + ... + group'. The grouping variable should be the last term in the formula. |
data |
A data frame containing the variables specified in the formula. All variables used in the model should be complete; missing values are not allowed. |
Value
A list containing the following components:
- regression_equation_covariate
The summary of the model with only covariates.
- regression_equation_covariate_group
The summary of the model with covariates and group main effects.
- regression_equation_interaction
The summary of the model including the interaction term.
- group_effect
The result of an ANOVA test for group effect.
- interaction_effect
The result of an ANOVA test for interaction effect between group and covariate variables.
- data
The original data frame with added rank columns.
References
McSweeney, M., & Porter, A. (1971). Small sample properties of nonparametric index of response and rank analysis of covariance. Omega, 16.
Olejnik, S. F., & Algina, J. (1985). A review of nonparametric alternatives to analysis of covariance. Journal of Educational Research, 9(1), 51-83.
Examples
# 1. Create a sample data frame
data <- data.frame(
group = c(1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3),
response = c(16, 60, 82, 126, 137, 44, 67, 87, 100, 142, 17, 28, 105, 149, 160),
covariate1 = c(26, 10, 42, 49, 55, 21, 28, 5, 12, 58, 1, 19, 41, 48, 35),
covariate2 = c(12, 21, 24, 29, 34, 17, 2, 40, 38, 36, 8, 1, 9, 28, 16)
)
# 2. Run the McSweeney and Porter method
results <- McSweeney_Porter(
formula = response ~ covariate1 + covariate2 + group,
data = data
)
# 3. View the results
print(results)
print(results$group_effect)
print(results$interaction_effect)
Puri and Sen Method for Nonparametric ANCOVA with Biased Variance-Covariance Matrix
Description
Performs the Puri and Sen method using a biased variance-covariance matrix.
Usage
Puri_Sen_BVCM(formula, data)
Arguments
formula |
An object of class "formula": a symbolic description of the model to be fitted. The structure should be 'response ~ covariate1 + ... + group'. The grouping variable should be the last term in the formula. |
data |
A data frame containing the variables specified in the formula. All variables used in the model should be complete; missing values are not allowed. |
Value
A list containing the following components:
- residuals
A vector of residuals for each group.
- V
The biased variance-covariance matrix.
- inverse_V
The inverse of the variance-covariance matrix.
- L_statistic
The Puri and Sen L-statistic.
- df
The degrees of freedom for the test.
- p_value
The corresponding p-value of the L-statistic.
- data
The original data frame with added rank columns.
References
Puri, M. L., & Sen, P. K. (1969). Analysis of covariance based on general rank scores. The Annals of Mathematical Statistics, 40(2), 610-618.
Olejnik, S. F., & Algina, J. (1985). A review of nonparametric alternatives to analysis of covariance. Journal of Educational Research, 9(1), 51-83.
Examples
# 1. Create a sample data frame
data <- data.frame(
group = c(1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3),
response = c(16, 60, 82, 126, 137, 44, 67, 87, 100, 142, 17, 28, 105, 149, 160),
covariate1 = c(26, 10, 42, 49, 55, 21, 28, 5, 12, 58, 1, 19, 41, 48, 35),
covariate2 = c(12, 21, 24, 29, 34, 17, 2, 40, 38, 36, 8, 1, 9, 28, 16)
)
# 2. Run the Puri and Sen (BVCM) method
results <- Puri_Sen_BVCM(
formula = response ~ covariate1 + covariate2 + group,
data = data
)
# 3. View the results
print(results)
print(paste("Statistic:", results$L_statistic,
"df:", results$df,
"P-value:", results$p_value))
Puri and Sen Method for Nonparametric ANCOVA with Unbiased Variance-Covariance Matrix
Description
Performs the Puri and Sen method using an unbiased variance-covariance matrix.
Usage
Puri_Sen_UVCM(formula, data)
Arguments
formula |
An object of class "formula": a symbolic description of the model to be fitted. The structure should be 'response ~ covariate1 + ... + group'. The grouping variable should be the last term in the formula. |
data |
A data frame containing the variables specified in the formula. All variables used in the model should be complete; missing values are not allowed. |
Value
A list containing the following components:
- residuals
A vector of residuals for each group.
- V
The unbiased variance-covariance matrix.
- inverse_V
The inverse of the variance-covariance matrix.
- L_statistic
The Puri and Sen L-statistic.
- df
The degrees of freedom for the test.
- p_value
The corresponding p-value of the L-statistic.
- data
The original data frame with added rank columns.
References
Puri, M. L., & Sen, P. K. (1969). Analysis of covariance based on general rank scores. The Annals of Mathematical Statistics, 40(2), 610-618.
Olejnik, S. F., & Algina, J. (1985). A review of nonparametric alternatives to analysis of covariance. Journal of Educational Research, 9(1), 51-83.
Examples
# 1. Create a sample data frame
data <- data.frame(
group = c(1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3),
response = c(16, 60, 82, 126, 137, 44, 67, 87, 100, 142, 17, 28, 105, 149, 160),
covariate1 = c(26, 10, 42, 49, 55, 21, 28, 5, 12, 58, 1, 19, 41, 48, 35),
covariate2 = c(12, 21, 24, 29, 34, 17, 2, 40, 38, 36, 8, 1, 9, 28, 16)
)
# 2. Run the Puri and Sen (UVCM) method
results <- Puri_Sen_UVCM(
formula = response ~ covariate1 + covariate2 + group,
data = data
)
# 3. View the results
print(results)
print(paste("Statistic:", results$L_statistic,
"df:", results$df,
"P-value:", results$p_value))
Quade Method for Nonparametric ANCOVA
Description
Performs Quade's ANCOVA using ranked variables and analysis of residuals. The method fits a linear model of the ranked response on the ranked covariates, and then performs an ANOVA on the residuals of that model.
Usage
Quade(formula, data)
Arguments
formula |
An object of class "formula": a symbolic description of the model to be fitted. The structure should be 'response ~ covariate1 + ... + group'. The grouping variable should be the last term in the formula. |
data |
A data frame containing the variables specified in the formula. All variables used in the model should be complete; missing values are not allowed. |
Value
A list containing the following components:
- regression_equation
The summary of the linear model regressing the ranked response on the ranked covariates.
- regression_equation_residuals
The summary of the model fitting residuals on the group.
- group_means
A data frame of the mean of residuals for each group.
- group_sds
A data frame of the standard deviation of residuals for each group.
- anova_summary
The summary of the ANOVA model performed on the residuals.
- data
The original data frame augmented with ranked variables and residuals.
References
Quade, D. (1967). Rank analysis of covariance. Journal of the American Statistical Association, 62(320), 1187-1200.
Olejnik, S. F., & Algina, J. (1985). A review of nonparametric alternatives to analysis of covariance. Journal of Educational Research, 9(1), 51-83.
Examples
# 1. Create a sample data frame
data <- data.frame(
group = c(1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3),
response = c(16, 60, 82, 126, 137, 44, 67, 87, 100, 142, 17, 28, 105, 149, 160),
covariate1 = c(26, 10, 42, 49, 55, 21, 28, 5, 12, 58, 1, 19, 41, 48, 35),
covariate2 = c(12, 21, 24, 29, 34, 17, 2, 40, 38, 36, 8, 1, 9, 28, 16)
)
# 2. Run the Quade method
results <- Quade(
formula = response ~ covariate1 + covariate2 + group,
data = data
)
# 3. View the results
print(results)
print(results$anova)
Shirley Method for Nonparametric ANCOVA
Description
Calculates group and interaction effects based on ranked response and covariate variables using changes in R-squared values between models.
Usage
Shirley(formula, data)
Arguments
formula |
An object of class "formula": a symbolic description of the model to be fitted. The structure should be 'response ~ covariate1 + ... + group'. The grouping variable should be the last term in the formula. |
data |
A data frame containing the variables specified in the formula. All variables used in the model should be complete; missing values are not allowed. |
Value
A list containing components related to the group and interaction effects, including:
- regression_equation_covariate
The summary of the model with only covariates.
- regression_equation_covariate_group
The summary of the model with covariates and group main effects.
- regression_equation_interaction
The summary of the model including the interaction term.
- statistics_group
The test statistic for the main group effect.
- df_group
The degrees of freedom for the group effect.
- p_value_group
The p-value for the main group effect.
- statistics_interaction
The test statistic for the interaction effect.
- df_interaction
The degrees of freedom for the interaction effect.
- p_value_interaction
The p-value for the interaction effect.
- data
The original data frame with added rank columns.
References
Burnett, T. D., & Barr, D. R. (1977). A nonparametric analogy of analysis of covariance. Educational and Psychological Measurement, 37(2), 341-348.
Olejnik, S. F., & Algina, J. (1985). A review of nonparametric alternatives to analysis of covariance. Journal of Educational Research, 9(1), 51-83.
Examples
# 1. Create a sample data frame
data <- data.frame(
group = c(1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3),
response = c(16, 60, 82, 126, 137, 44, 67, 87, 100, 142, 17, 28, 105, 149, 160),
covariate1 = c(26, 10, 42, 49, 55, 21, 28, 5, 12, 58, 1, 19, 41, 48, 35),
covariate2 = c(12, 21, 24, 29, 34, 17, 2, 40, 38, 36, 8, 1, 9, 28, 16)
)
# 2. Run the Shirley method
results <- Shirley(
formula = response ~ covariate1 + covariate2 + group,
data = data
)
# 3. View the results
print(results)
print(paste("Statistic:", results$statistics_group,
"df_group:", results$df_group,
"P-value:", results$p_value_group))
print(paste("Statistic:", results$statistics_interaction,
"df_interaction:", results$df_interaction,
"P-value:", results$p_value_interaction))
Pairwise Post Hoc Comparisons for Nonparametric ANCOVA
Description
Performs pairwise post hoc comparisons for nonparametric ANCOVA methods by fitting the selected nonparametric method separately to each pair of groups. For every pairwise comparison, the function extracts the raw p-value from the fitted model and computes multiple-testing adjusted p-values.
Usage
pairwise_npANCOVA(
formula,
data,
method = c("Burnett_Barr", "Harwell_Serlin", "Puri_Sen_UVCM", "Puri_Sen_BVCM", "Quade",
"Shirley", "McSweeney_Porter", "Hettmansperger_McKean"),
p_adjust_methods = c("holm", "hochberg", "hommel", "bonferroni", "BH", "BY", "fdr"),
alpha = 0.05
)
Arguments
formula |
An object of class "formula": a symbolic description of the model to be fitted. The structure should be ‘response ~ covariate1 + ... + group‘. The grouping variable should be the last term in the formula. |
data |
A data frame containing the variables specified in the model. All variables used in the model should be complete; missing values are not allowed. |
method |
A character string specifying the nonparametric ANCOVA method.
Should be one of |
p_adjust_methods |
A character vector specifying one or more p-value
adjustment methods to be applied to the raw pairwise p-values using
|
alpha |
A numeric significance level used to determine whether adjusted p-values are statistically significant. |
Details
All possible pairwise combinations of group levels are generated, and nonparametric ANCOVA method is fitted to each two-group subset using the selected method.
Raw p-values are extracted from each method and adjusted using one or more
methods supported by p.adjust. The adjusted p-values are
returned together with significance decisions based on the specified significance
level alpha.
Supported methods are:
"Burnett_Barr",
"Harwell_Serlin",
"Puri_Sen_UVCM",
"Puri_Sen_BVCM",
"Quade",
"Shirley",
"McSweeney_Porter",
and "Hettmansperger_McKean".
Value
A list containing:
- method
The selected nonparametric ANCOVA method.
- formula
The model formula used in the analysis.
- alpha
The significance level used for adjusted comparisons.
- comparisons
A data frame containing pairwise group comparisons, raw (unadjusted) p-values, adjusted p-values, and significance decisions.
Examples
data <- data.frame(
group = c(1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3),
response = c(16, 60, 82, 126, 137, 44, 67, 87, 100, 142, 17, 28, 105, 149, 160),
covariate1 = c(26, 10, 42, 49, 55, 21, 28, 5, 12, 58, 1, 19, 41, 48, 35)
)
# Burnett_Barr
pairwise_npANCOVA(
response ~ covariate1 + group,
data = data,
method = "Burnett_Barr"
)
# Harwell_Serlin
pairwise_npANCOVA(
response ~ covariate1 + group,
data = data,
method = "Harwell_Serlin"
)
# Puri_Sen_UVCM
pairwise_npANCOVA(
response ~ covariate1 + group,
data = data,
method = "Puri_Sen_UVCM"
)
# Puri_Sen_BVCM
pairwise_npANCOVA(
response ~ covariate1 + group,
data = data,
method = "Puri_Sen_BVCM"
)
# Quade
pairwise_npANCOVA(
response ~ covariate1 + group,
data = data,
method = "Quade"
)
# Shirley
pairwise_npANCOVA(
response ~ covariate1 + group,
data = data,
method = "Shirley"
)
# McSweeney_Porter
pairwise_npANCOVA(
response ~ covariate1 + group,
data = data,
method = "McSweeney_Porter"
)
# Hettmansperger_McKean
pairwise_npANCOVA(
response ~ covariate1 + group,
data = data,
method = "Hettmansperger_McKean"
)
Summarize Nonparametric ANCOVA Results
Description
This function formats and prints inferential results obtained from a fitted nonparametric ANCOVA object.
Usage
summary_npANCOVA(object)
Arguments
object |
A fitted result object returned by one
of the supported methods: |
Details
The function uses the method_name stored in object and prints the
appropriate inferential summary according to the detected nonparametric
ANCOVA method.
For
"Burnett_Barr"and"Quade", the function prints the F-statistic, numerator and denominator degrees of freedom, and p-value.For
"Hettmansperger_McKean","Harwell_Serlin","Puri_Sen_BVCM", and"Puri_Sen_UVCM", the function prints the chi-squared test statistic, degrees of freedom, and p-value.For
"McSweeney_Porter"and"Shirley", both group and interaction effects are printed when available.
Value
Prints a formatted summary of the fitted object containing the following components:
- statistics
The test statistic.
- df
The degrees of freedom for the test.
- p_value
The p-value of the test.
See Also
Burnett_Barr,
Quade,
Hettmansperger_McKean,
Harwell_Serlin,
McSweeney_Porter,
Shirley,
Puri_Sen_BVCM,
Puri_Sen_UVCM,
Examples
data <- data.frame(
group = c(1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3),
response = c(16, 60, 82, 126, 137, 44, 67, 87, 100, 142, 17, 28, 105, 149, 160),
covariate1 = c(26, 10, 42, 49, 55, 21, 28, 5, 12, 58, 1, 19, 41, 48, 35),
covariate2 = c(12, 21, 24, 29, 34, 17, 2, 40, 38, 36, 8, 1, 9, 28, 16)
)
formula_one_cov <- response ~ covariate1 + group
formula_two_cov <- response ~ covariate1 + covariate2 + group
# Method requiring exactly one covariate
fit_bb <- Burnett_Barr(formula_one_cov, data = data)
summary_npANCOVA(fit_bb)
# Methods allowing multiple covariates
fit_hs <- Harwell_Serlin(formula_two_cov, data = data)
summary_npANCOVA(fit_hs)
fit_hm <- Hettmansperger_McKean(formula_two_cov, data = data)
summary_npANCOVA(fit_hm)
fit_mp <- McSweeney_Porter(formula_two_cov, data = data)
summary_npANCOVA(fit_mp)
fit_psmb <- Puri_Sen_BVCM(formula_two_cov, data = data)
summary_npANCOVA(fit_psmb)
fit_psmu <- Puri_Sen_UVCM(formula_two_cov, data = data)
summary_npANCOVA(fit_psmu)
fit_quade <- Quade(formula_two_cov, data = data)
summary_npANCOVA(fit_quade)
fit_shirley <- Shirley(formula_two_cov, data = data)
summary_npANCOVA(fit_shirley)