Treatment coding sets the mean of the reference level (base) as the intercept. Each contrast compares one level with the reference level.

contr_code_treatment(fct, levels = NULL, base = 1)

Arguments

fct

the factor to contrast code (or a vector)

levels

the levels of the factor in order

base

the index of the level to use as baseline

Value

the factor with contrasts set

Examples

df <- sim_design(between = list(pet = c("cat", "dog")), 
                 mu = c(10, 20), plot = FALSE)
df$pet <- contr_code_treatment(df$pet)
lm(y ~ pet, df) %>% broom::tidy()
#> # A tibble: 2 × 5
#>   term        estimate std.error statistic   p.value
#>   <chr>          <dbl>     <dbl>     <dbl>     <dbl>
#> 1 (Intercept)    10.0     0.0955     105.  1.07e-175
#> 2 pet.dog-cat     9.94    0.135       73.6 8.78e-146

df <- sim_design(between = list(pet = c("cat", "dog", "ferret")), 
                 mu = c(2, 4, 9), empirical = TRUE, plot = FALSE)
                 
df$pet <- contr_code_treatment(df$pet)
lm(y ~ pet, df) %>% broom::tidy()
#> # A tibble: 3 × 5
#>   term           estimate std.error statistic   p.value
#>   <chr>             <dbl>     <dbl>     <dbl>     <dbl>
#> 1 (Intercept)        2.00     0.100      20.0 5.87e- 57
#> 2 pet.dog-cat        2.00     0.141      14.1 4.53e- 35
#> 3 pet.ferret-cat     7.00     0.141      49.5 1.67e-145

df$pet <- contr_code_treatment(df$pet, base = 2)
lm(y ~ pet, df) %>% broom::tidy()
#> # A tibble: 3 × 5
#>   term           estimate std.error statistic   p.value
#>   <chr>             <dbl>     <dbl>     <dbl>     <dbl>
#> 1 (Intercept)        4.00     0.100      40   1.30e-121
#> 2 pet.cat-dog       -2.00     0.141     -14.1 4.53e- 35
#> 3 pet.ferret-dog     5.00     0.141      35.4 1.89e-108

df$pet <- contr_code_treatment(df$pet, base = "ferret")
lm(y ~ pet, df) %>% broom::tidy()
#> # A tibble: 3 × 5
#>   term           estimate std.error statistic   p.value
#>   <chr>             <dbl>     <dbl>     <dbl>     <dbl>
#> 1 (Intercept)        9.00     0.100      90.0 1.40e-217
#> 2 pet.cat-ferret    -7.00     0.141     -49.5 1.67e-145
#> 3 pet.dog-ferret    -5        0.141     -35.4 1.89e-108