# expandDoubleVerts: Expand terms with "||" notation into separate "|" terms In lme4: Linear Mixed-Effects Models using 'Eigen' and S4

## Description

From the right hand side of a formula for a mixed-effects model, expand terms with the double vertical bar operator into separate, independent random effect terms.

## Usage

 `1` ``` expandDoubleVerts(term) ```

## Arguments

 `term` a mixed-model formula

## Value

the modified term

## Note

Because `||` works at the level of formula parsing, it has no way of knowing whether a variable is a factor. It just takes the terms within a random-effects term and literally splits them into the intercept and separate no-intercept terms, e.g. `(1+x+y|f)` would be split into `(1|f) + (0+x|f) + (0+y|f)`. However, `||` will fail to break up factors into separate terms; the `dummy` function can be useful in this case, although it is not as convenient as `||`.

`formula`, `model.frame`, `model.matrix`, `dummy`.

Other utilities: `mkRespMod`, `mkReTrms`, `nlformula`, `nobars`, `subbars`

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15``` ``` m <- ~ x + (x || g) expandDoubleVerts(m) set.seed(101) dd <- expand.grid(f=factor(letters[1:3]),g=factor(1:200),rep=1:3) dd\$y <- simulate(~f + (1|g) + (0+dummy(f,"b")|g) + (0+dummy(f,"c")|g), newdata=dd, newparams=list(beta=rep(0,3), theta=c(1,2,1), sigma=1), family=gaussian)[] m1 <- lmer(y~f+(f|g),data=dd) VarCorr(m1) m2 <- lmer(y~f+(1|g) + (0+dummy(f,"b")|g) + (0+dummy(f,"c")|g), data=dd) VarCorr(m2) ```

### Example output

```Loading required package: Matrix
~x + ((1 | g) + (0 + x | g))
theta parameter vector not named: assuming same order as internal vector
beta parameter vector not named: assuming same order as internal vector
Groups   Name        Std.Dev. Corr
g        (Intercept) 0.95687
fb          1.97293   0.106
fc          0.96425   0.109 -0.086
Residual             1.02172
Groups   Name          Std.Dev.
g        (Intercept)   0.98657
g.1      dummy(f, "b") 2.00636
g.2      dummy(f, "c") 0.99616
Residual               1.01771
```

lme4 documentation built on June 22, 2021, 9:07 a.m.