Last Update: February 21, 2022
Omitted Variable Bias: Wald Test in R can be done using
waldtest function for evaluating whether linear regression omitted independent variables explain dependent variable. Main parameters within
waldtest function are
object with restricted and unrestricted linear regression
lm objects, and
test with character specifying whether to do an F-test or a chi-square test.
As example, we can do number of bathrooms omitted variable Wald test from unrestricted multiple linear regression of house prices explained by its lot size, number of bedrooms and bathrooms using data included within
HousePrices object .
First, we load packages
AER for data and
lmtest for Wald test .
In : library(AER) library(lmtest)
Second, we create
HousePrices data object from
AER package using
data function and print first six rows and four columns of data using
head function to view
In : data(HousePrices) head(HousePrices[, 1:4])
Out : price lotsize bedrooms bathrooms 1 42000 5850 3 1 2 38500 4000 2 1 3 49500 3060 3 1 4 60500 6650 3 1 5 61000 6360 2 1 6 66000 4160 3 1
Third, we fit restricted multiple linear regression using
lm function and store results within
mlr1 object. Within
lm function, parameter
formula = price ~ lotsize + bedrooms fits restricted model where house price is explained by its lot size and number of bedrooms.
In : mlr1 <- lm(formula = price ~ lotsize + bedrooms, data = HousePrices)
Fourth, as example again, we fit unrestricted multiple linear regression using
lm function, store results within
mlr2 object and do Wald test using
waldtest function. Within
lm function, parameter
formula = price ~ lotsize + bedrooms + bathrooms fits unrestricted model where house price is explained by its lot size, number of bedrooms and bathrooms. Within
waldtest function, parameters
object = mlr1, mlr2 includes restricted
mlr1 and unrestricted
mlr2 models results, and
test = "F" includes character to do an F-test. Notice that
mlr2 models and
waldtest function parameter
test = "F" were only included as educational examples which can be modified according to your needs.
In : mlr2 <- lm(formula = price ~ lotsize + bedrooms + bathrooms, data = HousePrices) waldtest(object = mlr1, mlr2, test = "F")
Out : Wald test Model 1: price ~ lotsize + bedrooms Model 2: price ~ lotsize + bedrooms + bathrooms Res.Df Df F Pr(>F) 1 543 2 542 1 122.41 < 2.2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
My online courses are hosted at Teachable website.
For more details on this concept, you can view my Linear Regression in R Course.
 Data Description: Sales prices of houses sold in the city of Windsor, Canada, during July, August and September, 1987.
Original Source: Anglin, P., and Gencay, R. (1996). Semiparametric Estimation of a Hedonic Price Function. Journal of Applied Econometrics, 11, 633–648.
 AER R Package: Christian Kleiber and Achim Zeileis. (2008). Applied Econometrics with R. Springer-Verlag, New York.
lmtest R Package: Achim Zeileis and Torsten Hothorn. (2002). Diagnostic Checking in Regression Relationships. R News, 2 (3): 7-10.