Learn R Programming

contrastable (version 1.0.2)

helmert_code: Helmert code

Description

R's stats::contr.helmert() function is unscaled, meaning that you need to scale the coefficients of a model fit to get the actual comparisons of interest. This version will automatically scale the contrast matrix such that the coefficients are the expected scaled values.

Usage

helmert_code(n)

Value

A contrast matrix with dimensions n rows and (n-1) columns.

Arguments

n

Integer umber of factor levels to compute contrasts for.

Details

Helmert coding compares each level to the total mean of all levels that have come before it. Differs from backward difference coding, which compares only pairs of levels (not a level to a cumulative mean of levels)

Example interpretation for a 4 level factor:

  • Intercept = Grand mean (mean of the means of each level)

  • grp2 = mean(grp2) - mean(grp1)

  • grp3 = mean(grp3) - mean(grp1, grp2)

  • grp4 = mean(grp4) - mean(grp1, grp2, grp3)

Examples

Run this code

mydf <- data.frame(
  grp = gl(4,5),
  resp = c(seq(1, 5), seq(5, 9), seq(10, 14), seq(15, 19))
)

mydf <- set_contrasts(mydf, grp ~ helmert_code)
lm(resp ~ grp, data = mydf)

Run the code above in your browser using DataLab