Learn R Programming

gmodels (version 2.19.1)

glh.test: Test a General Linear Hypothesis for a Regression Model

Description

Test, print, or summarize a general linear hypothesis for a regression model

Usage

glh.test(reg, cm, d = rep(0, nrow(cm)))

Value

Object of class c("glh.test","htest") with elements:

call

Function call that created the object

statistic

F statistic

parameter

vector containing the numerator (r) and denominator (n-p) degrees of freedom

p.value

p-value

estimate

computed estimate for each row of cm

null.value

d

method

description of the method

data.name

name of the model given for reg

matrix

matrix specifying the general linear hypotheis (cm)

Arguments

reg

Regression model

cm

contrast matrix C . Each row specifies a linear combination of the coefficients

d

vector d specifying the null hypothesis values for each linear combination

Author

Gregory R. Warnes greg@warnes.net

Details

Test the general linear hypothesis \(C \hat{\beta} = d \) for the regression model reg.

The test statistic is obtained from the formula: $$ f = \frac{(C \hat{\beta} - d)' ( C (X'X)^{-1} C' ) (C \hat{\beta} - d) / r }{ SSE / (n-p) } $$ where

  • r is the number of contrasts contained in C, and

  • n-p is the model degrees of freedom.

Under the null hypothesis, f will follow a F-distribution with r and n-p degrees of freedom

References

R.H. Myers, Classical and Modern Regression with Applications, 2nd Ed, 1990, p. 105

See Also

fit.contrast(), estimable(), stats::contrasts()

Examples

Run this code


# fit a simple model
y <- rnorm(100)
x <-  cut(rnorm(100, mean=y, sd=0.25),c(-4,-1.5,0,1.5,4))
reg <- lm(y ~ x)
summary(reg)

# test both group 1 = group 2  and group 3 = group 4
# *Note the 0 in the column for the intercept term*

C <- rbind( c(0,-1,0,0), c(0,0,-1,1) )
ret <- glh.test(reg, C)
ret  # same as 'print(ret) '
summary(ret)

# To compute a contrast between the first and second level of the factor
# 'x' using 'fit.contrast' gives:

fit.contrast( reg, x,c(1,-1,0,0) )
	
# To test this same contrast using 'glh.test', use a contrast matrix
# with a zero coefficient for the intercept term.  See the Note section,
# above, for an explanation.

C <- rbind( c(0,-1,0,0) )
glh.test( reg, C )

Run the code above in your browser using DataLab