The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Package {npANCOVA}


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 ORCID iD [aut, cre], Ali Taghavi Rad ORCID iD [aut], Anoshirvan Kazemnejad ORCID iD [aut], Keith Goldfeld ORCID iD [ctb], Shayan Mostafaei ORCID iD [ctb]
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_Barr

The Burnett and Barr rank-based method compares groups while adjusting for only one covariate.

Harwell_Serlin

Performs the Harwell and Serlin method using ranked response and covariate variables.

Hettmansperger_McKean

Applies rank-based residual analysis for ANCOVA, and then performs an ANOVA on the (weighted) ranked residuals.

McSweeney_Porter

Performs rank-based ANCOVA with and without an interaction term between the covariates and the group.

Puri_Sen_UVCM

Performs the Puri and Sen method using an unbiased variance-covariance matrix.

Puri_Sen_BVCM

Performs the Puri and Sen method using a biased variance-covariance matrix.

Quade

Performs Quade’s ANCOVA using ranked variables and analysis of residuals using ANOVA.

Shirley

Calculates group and interaction effects based on ranked response and covariate variables using changes in R-squared values between models.

summary_npANCOVA

Formats and prints the inferential results obtained from a fitted nonparametric ANCOVA method.

pairwise_npANCOVA

Performs 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:


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 "Burnett_Barr", "Harwell_Serlin", "Puri_Sen_UVCM", "Puri_Sen_BVCM", "Quade", "Shirley", "McSweeney_Porter", or "Hettmansperger_McKean".

p_adjust_methods

A character vector specifying one or more p-value adjustment methods to be applied to the raw pairwise p-values using p.adjust.

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: Burnett_Barr(), Harwell_Serlin(), Hettmansperger_McKean(), McSweeney_Porter(), Puri_Sen_BVCM(), Puri_Sen_UVCM(), Quade(), or Shirley().

Details

The function uses the method_name stored in object and prints the appropriate inferential summary according to the detected nonparametric ANCOVA method.

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)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.