Calculate random effect structure Calculates number of random effects, number of parameters, block size and number of blocks. Mostly for internal use.
Source:R/glmmTMB.R
getReStruc.RdCalculate random effect structure Calculates number of random effects, number of parameters, block size and number of blocks. Mostly for internal use.
Arguments
- reTrms
random-effects terms list
- ss
a vector of character strings indicating a valid covariance structure (one for each RE term). Must be one of
names(glmmTMB:::.valid_covstruct); default is to use an unstructured variance-covariance matrix ("us") for all blocks).- aa
additional arguments (i.e. rank, or var-cov matrix)
- reXterms
terms objects corresponding to each RE term
- fr
model frame
- full_cor
compute full correlation matrices? can be either a length-1 logical vector (TRUE/FALSE) to include full correlation matrices for all or none of the random-effect terms in the model, or a logical vector with length equal to the number of correlation matrices, to include/exclude correlation matrices individually
Value
a list
- blockNumTheta
number of variance covariance parameters per term
- blockSize
size (dimension) of one block
- blockReps
number of times the blocks are repeated (levels)
- covCode
structure code
- simCode
simulation code; should we "zero" (set to zero/ignore), "fix" (set to existing parameter values), "random" (draw new random deviations)?
- fullCor
logical vector (compute/store full correlation matrix?)
Examples
data(sleepstudy, package="lme4")
rt <- lme4::lFormula(Reaction~Days+(1|Subject)+(0+Days|Subject),
sleepstudy)$reTrms
rt2 <- lme4::lFormula(Reaction~Days+(Days|Subject),
sleepstudy)$reTrms
getReStruc(rt)
#> $`1 | Subject`
#> $`1 | Subject`$blockReps
#> [1] 18
#>
#> $`1 | Subject`$blockSize
#> [1] 1
#>
#> $`1 | Subject`$blockNumTheta
#> [1] 1
#>
#> $`1 | Subject`$blockCode
#> us
#> 1
#>
#> $`1 | Subject`$simCode
#> [1] 2
#>
#> $`1 | Subject`$fullCor
#> integer(0)
#>
#>
#> $`0 + Days | Subject`
#> $`0 + Days | Subject`$blockReps
#> [1] 18
#>
#> $`0 + Days | Subject`$blockSize
#> [1] 1
#>
#> $`0 + Days | Subject`$blockNumTheta
#> [1] 1
#>
#> $`0 + Days | Subject`$blockCode
#> us
#> 1
#>
#> $`0 + Days | Subject`$simCode
#> [1] 2
#>
#> $`0 + Days | Subject`$fullCor
#> integer(0)
#>
#>
getReStruc(rt2)
#> $`Days | Subject`
#> $`Days | Subject`$blockReps
#> [1] 18
#>
#> $`Days | Subject`$blockSize
#> [1] 2
#>
#> $`Days | Subject`$blockNumTheta
#> [1] 3
#>
#> $`Days | Subject`$blockCode
#> us
#> 1
#>
#> $`Days | Subject`$simCode
#> [1] 2
#>
#> $`Days | Subject`$fullCor
#> integer(0)
#>
#>