estimable: Contrasts and estimable linear functions of model...

Description Usage Arguments Details Value Note Author(s) See Also Examples

Description

Compute and test contrasts and other estimable linear functions of model coefficients for for lm, glm, lme, mer, and geese objects

Usage

1
2
3
4
5
6
7
estimable(obj, cm, beta0, conf.int=NULL,  show.beta0, ...)
## Default S3 method:
 estimable(obj, cm, beta0, conf.int=NULL, show.beta0, joint.test=FALSE, ...)


## S3 method for class 'mlm'
estimable(obj, cm, beta0, conf.int=NULL,  show.beta0, ...)

Arguments

obj

Regression (lm, glm, lme, mer, mlm) object.

cm

Vector, List, or Matrix specifying estimable linear functions or contrasts. See below for details.

beta0

Vector of null hypothesis values

conf.int

Confidence level. If provided, confidence intervals will be computed.

joint.test

Logical value. If TRUE a 'joint' Wald test for the hypothesis L %*% beta=beta0 is performed. Otherwise 'row-wise' tests are performed, i.e. (L %*% beta)[i]=beta0[i]

show.beta0

Logical value. If TRUE a column for beta0 will be included in the output table. Defaults to TRUE when beta0 is specified, FALSE otherwise.

...

ignored

Details

estimable computes an estimate, test statitic, significance test, and (optional) confidence interval for each linear functions of the model coefficients specified by cm.

The estimable function(s) may be specified via a vector, list, or matrix. If cm is a vector, it should contained named elements each of which gives the coefficient to be applied to the corresponding parameter. These coefficients will be used to construct the contrast matrix, with unspecified model parameters assigned zero coefficients. If cm is a list, it should contain one or more coefficient vectors, which will be used to construct rows of the contrast matrix. If cm is a matrix, column names must match (a subset of) the model parameters, and each row should contain the corresponding coefficient to be applied. Model parameters which are not present in the set of column names of cm will be set to zero.

The estimates and their variances are obtained by applying the contrast matrix (generated from) cm to the model estimates variance-covariance matrix. Degrees of freedom are obtained from the appropriate model terms.

The user is responsible for ensuring that the specified linear functions are meaningful.

For computing contrasts among levels of a single factor, fit.contrast may be more convenient. For computing contrasts between two specific combinations of model parameters, the contrast function in Frank Harrell's 'rms' library (formerly 'Design') may be more convenient.

Value

Returns a matrix with one row per linear function. Columns contain the beta0 value (optional, see show.beta0 above), estimated coefficients, standard errors, t values, degrees of freedom, two-sided p-values, and the lower and upper endpoints of the 1-alpha confidence intervals.

Note

The estimated fixed effect parameters of lme objects may have different degrees of freedom. If a specified contrast includes nonzero coefficients for parameters with differing degrees of freedom, the smallest number of degrees of freedom is used and a warning message is issued.

Author(s)

BXC (Bendix Carstensen) bxc\@novonordisk.com, Gregory R. Warnes greg@warnes.net, Soren Hojsgaard sorenh@agrsci.dk, and Randall C Johnson rjohnson@ncifcrf.gov

See Also

fit.contrast, lm, lme, contrasts, contrast

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# setup example data
y <- rnorm(100)
x <-  cut(rnorm(100, mean=y, sd=0.25),c(-4,-1.5,0,1.5,4))
levels(x) <- c("A","B","C","D")
x2 <- rnorm(100, mean=y, sd=0.5)

# simple contrast and confidence interval
reg <- lm(y ~ x)
estimable(reg, c(    0,   1,    0,   -1) )  # full coefficient vector
estimable(reg, c("xB"=1,"xD"=-1) )          # just the nonzero terms


# Fit a spline with a single knot at 0.5 and plot the *pointwise*
# confidence intervals
library(gplots)
pm <- pmax(x2-0.5, 0) # knot at 0.5
reg2 <- lm(y ~ x + x2 + pm )

range <- seq(-2, 2, , 50)
tmp <- estimable(reg2,
                 cm=cbind(
                          '(Intercept)'=1,
                          'xC'=1,
                          'x2'=range,
                          'pm'=pmax(range-0.5, 0)
                           ),
                 conf.int=0.95)
plotCI(x=range, y=tmp[, 1], li=tmp[, 6], ui=tmp[, 7])

# Fit both linear and quasi-Poisson models to iris data, then compute
# joint confidence intervals on contrasts for the Species and
# Sepal.Width by Species interaction terms.
data(iris)
lm1  <- lm (Sepal.Length ~ Sepal.Width + Species + Sepal.Width:Species, data=iris)
glm1 <- glm(Sepal.Length ~ Sepal.Width + Species + Sepal.Width:Species, data=iris,
            family=quasipoisson("identity"))

cm <- rbind(
            'Setosa vs. Versicolor'   = c(0, 0, 1, 0, 1, 0),
            'Setosa vs. Virginica'    = c(0, 0, 0, 1, 0, 1),
            'Versicolor vs. Virginica'= c(0, 0, 1,-1, 1,-1)
            )
estimable(lm1, cm)
estimable(glm1, cm)

Example output

            Estimate Std. Error   t value DF Pr(>|t|)
(0 1 0 -1) -2.632721  0.1413327 -18.62783 96        0
            Estimate Std. Error   t value DF Pr(>|t|)
(0 1 0 -1) -2.632721  0.1413327 -18.62783 96        0

Attaching package: 'gplots'

The following object is masked from 'package:stats':

    lowess

                           Estimate Std. Error    t value  DF   Pr(>|t|)
Setosa vs. Versicolor     1.0753215  0.5433325  1.9791222 144 0.04970940
Setosa vs. Virginica      1.4788800  0.5634805  2.6245452 144 0.00961252
Versicolor vs. Virginica -0.4035585  0.5302437 -0.7610812 144 0.44785310
                           Estimate Std. Error    t value  DF    Pr(>|t|)
Setosa vs. Versicolor     1.0670030  0.5046543  2.1143247 144 0.036210534
Setosa vs. Virginica      1.4739777  0.5443194  2.7079278 144 0.007590686
Versicolor vs. Virginica -0.4069747  0.5336683 -0.7625987 144 0.446950163

gmodels documentation built on May 2, 2019, 5:46 p.m.

Related to estimable in gmodels...