car (version 3.0-10)

ncvTest: Score Test for Non-Constant Error Variance


Computes a score test of the hypothesis of constant error variance against the alternative that the error variance changes with the level of the response (fitted values), or with a linear combination of predictors.


ncvTest(model, ...)

# S3 method for lm ncvTest(model, var.formula, ...)

# S3 method for glm ncvTest(model, ...) # to report an error



a weighted or unweighted linear model, produced by lm.


a one-sided formula for the error variance; if omitted, the error variance depends on the fitted values.

arguments passed down to methods functions; not currently used.


The function returns a chisqTest object, which is usually just printed.


This test is often called the Breusch-Pagan test; it was independently suggested with some extension by Cook and Weisberg (1983).

ncvTest.glm is a dummy function to generate an error when a glm model is used.


Breusch, T. S. and Pagan, A. R. (1979) A simple test for heteroscedasticity and random coefficient variation. Econometrica 47, 1287--1294.

Cook, R. D. and Weisberg, S. (1983) Diagnostics for heteroscedasticity in regression. Biometrika 70, 1--10.

Fox, J. (2016) Applied Regression Analysis and Generalized Linear Models, Third Edition. Sage.

Fox, J. and Weisberg, S. (2019) An R Companion to Applied Regression, Third Edition, Sage.

Weisberg, S. (2014) Applied Linear Regression, Fourth Edition, Wiley.

See Also

hccm, spreadLevelPlot


ncvTest(lm(interlocks ~ assets + sector + nation, data=Ornstein))

ncvTest(lm(interlocks ~ assets + sector + nation, data=Ornstein), 
    ~ assets + sector + nation, data=Ornstein)
# }