I would like to extract some results from a lmermod
object
require(lme4)
(fm1 <- lmer(Yield ~ 1|Batch, Dyestuff))
This produces
Linear mixed model fit by REML ['lmerMod']
Formula: Yield ~ 1 | Batch
Data: Dyestuff
REML criterion at convergence: 319.6543
Random effects:
Groups Name Std.Dev.
Batch (Intercept) 42.00
Residual 49.51
Number of obs: 30, groups: Batch, 6
Fixed Effects:
(Intercept)
1527
In particular, I would like to extract the standard devations of the 2 random effects, ie 42.00 and 49.51. I guess there may be a built-in method to do this, but I couldn't find it quickly so I thought I should be able to find it by using str(fm1)
, which produces this:
Formal class 'lmerMod' [package "lme4"] with 13 slots
..@ resp :Reference class 'lmerResp' [package "lme4"] with 9 fields
.. ..$ Ptr :<externalptr>
.. ..$ mu : num [1:30] 1510 1510 1510 1510 1510 ...
.. ..$ offset : num [1:30] 0 0 0 0 0 0 0 0 0 0 ...
.. ..$ sqrtXwt: num [1:30] 1 1 1 1 1 1 1 1 1 1 ...
.. ..$ sqrtrwt: num [1:30] 1 1 1 1 1 1 1 1 1 1 ...
.. ..$ weights: num [1:30] 1 1 1 1 1 1 1 1 1 1 ...
.. ..$ wtres : num [1:30] 35.1 -69.9 -69.9 10.1 70.1 ...
.. ..$ y : num [1:30] 1545 1440 1440 1520 1580 ...
.. ..$ REML : int 1
.. ..and 26 methods, of which 14 are possibly relevant:
.. .. allInfo, copy#envRefClass, initialize, initialize#lmResp,
.. .. initializePtr, initializePtr#lmResp, objective, ptr, ptr#lmResp,
.. .. setOffset, setResp, setWeights, updateMu, wrss
..@ Gp : int [1:2] 0 6
..@ call : language lmer(formula = Yield ~ 1 | Batch, data = Dyestuff)
..@ frame :'data.frame': 30 obs. of 2 variables:
.. ..$ Yield: num [1:30] 1545 1440 1440 1520 1580 ...
.. ..$ Batch: Factor w/ 6 levels "A","B","C","D",..: 1 1 1 1 1 2 2 2 2 2 ...
.. ..- attr(*, "terms")=Classes 'terms', 'formula' length 3 Yield ~ 1 + Batch
.. .. .. ..- attr(*, "variables")= language list(Yield, Batch)
.. .. .. ..- attr(*, "factors")= int [1:2, 1] 0 1
.. .. .. .. ..- attr(*, "dimnames")=List of 2
.. .. .. .. .. ..$ : chr [1:2] "Yield" "Batch"
.. .. .. .. .. ..$ : chr "Batch"
.. .. .. ..- attr(*, "term.labels")= chr "Batch"
.. .. .. ..- attr(*, "order")= int 1
.. .. .. ..- attr(*, "intercept")= int 1
.. .. .. ..- attr(*, "response")= int 1
.. .. .. ..- attr(*, ".Environment")=<environment: R_GlobalEnv>
.. .. .. ..- attr(*, "predvars")= language list(Yield, Batch)
.. .. .. ..- attr(*, "dataClasses")= Named chr [1:2] "numeric" "factor"
.. .. .. .. ..- attr(*, "names")= chr [1:2] "Yield" "Batch"
.. .. .. ..- attr(*, "predvars.fixed")= language list(Yield)
.. ..- attr(*, "formula")=Class 'formula' length 3 Yield ~ 1 | Batch
.. .. .. ..- attr(*, ".Environment")=<environment: R_GlobalEnv>
..@ flist :List of 1
.. ..$ Batch: Factor w/ 6 levels "A","B","C","D",..: 1 1 1 1 1 2 2 2 2 2 ...
.. ..- attr(*, "assign")= int 1
..@ cnms :List of 1
.. ..$ Batch: chr "(Intercept)"
..@ lower : num 0
..@ theta : num 0.848
..@ beta : num 1527
..@ u : num [1:6] -20.755 0.461 33.669 -27.212 66.877 ...
..@ devcomp:List of 2
.. ..$ cmp : Named num [1:10] 9.15 1.88 61495.41 9590.84 71086.25 ...
.. .. ..- attr(*, "names")= chr [1:10] "ldL2" "ldRX2" "wrss" "ussq" ...
.. ..$ dims: Named int [1:12] 30 30 1 29 1 6 1 1 0 1 ...
.. .. ..- attr(*, "names")= chr [1:12] "N" "n" "p" "nmp" ...
..@ pp :Reference class 'merPredD' [package "lme4"] with 18 fields
.. ..$ Lambdat:Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
.. .. .. ..@ i : int [1:6] 0 1 2 3 4 5
.. .. .. ..@ p : int [1:7] 0 1 2 3 4 5 6
.. .. .. ..@ Dim : int [1:2] 6 6
.. .. .. ..@ Dimnames:List of 2
.. .. .. .. ..$ : NULL
.. .. .. .. ..$ : NULL
.. .. .. ..@ x : num [1:6] 0.848 0.848 0.848 0.848 0.848 ...
.. .. .. ..@ factors : list()
.. ..$ LamtUt :Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
.. .. .. ..@ i : int [1:30] 0 0 0 0 0 1 1 1 1 1 ...
.. .. .. ..@ p : int [1:31] 0 1 2 3 4 5 6 7 8 9 ...
.. .. .. ..@ Dim : int [1:2] 6 30
.. .. .. ..@ Dimnames:List of 2
.. .. .. .. ..$ : NULL
.. .. .. .. ..$ : NULL
.. .. .. ..@ x : num [1:30] 0.848 0.848 0.848 0.848 0.848 ...
.. .. .. ..@ factors : list()
.. ..$ Lind : int [1:6] 1 1 1 1 1 1
.. ..$ Ptr :<externalptr>
.. ..$ RZX : num [1:6, 1] 1.98 1.98 1.98 1.98 1.98 ...
.. ..$ Ut :Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
.. .. .. ..@ i : int [1:30] 0 0 0 0 0 1 1 1 1 1 ...
.. .. .. ..@ p : int [1:31] 0 1 2 3 4 5 6 7 8 9 ...
.. .. .. ..@ Dim : int [1:2] 6 30
.. .. .. ..@ Dimnames:List of 2
.. .. .. .. ..$ : chr [1:6] "A" "B" "C" "D" ...
.. .. .. .. ..$ : NULL
.. .. .. ..@ x : num [1:30] 1 1 1 1 1 1 1 1 1 1 ...
.. .. .. ..@ factors : list()
.. ..$ Utr : num [1:6] 6384 6481 6634 6354 6787 ...
.. ..$ V : num [1:30, 1] 1 1 1 1 1 1 1 1 1 1 ...
.. ..$ VtV : num [1, 1] 30
.. ..$ Vtr : num 45825
.. ..$ X : num [1:30, 1] 1 1 1 1 1 1 1 1 1 1 ...
.. .. ..- attr(*, "dimnames")=List of 2
.. .. .. ..$ : chr [1:30] "1" "2" "3" "4" ...
.. .. .. ..$ : chr "(Intercept)"
.. .. ..- attr(*, "assign")= int 0
.. ..$ Xwts : num [1:30] 1 1 1 1 1 1 1 1 1 1 ...
.. ..$ Zt :Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
.. .. .. ..@ i : int [1:30] 0 0 0 0 0 1 1 1 1 1 ...
.. .. .. ..@ p : int [1:31] 0 1 2 3 4 5 6 7 8 9 ...
.. .. .. ..@ Dim : int [1:2] 6 30
.. .. .. ..@ Dimnames:List of 2
.. .. .. .. ..$ : chr [1:6] "A" "B" "C" "D" ...
.. .. .. .. ..$ : NULL
.. .. .. ..@ x : num [1:30] 1 1 1 1 1 1 1 1 1 1 ...
.. .. .. ..@ factors : list()
.. ..$ beta0 : num 0
.. ..$ delb : num 1527
.. ..$ delu : num [1:6] -20.755 0.461 33.669 -27.212 66.877 ...
.. ..$ theta : num 0.848
.. ..$ u0 : num [1:6] 0 0 0 0 0 0
.. ..and 42 methods, of which 30 are possibly relevant:
.. .. b, beta, CcNumer, copy#envRefClass, initialize, initializePtr,
.. .. installPars, L, ldL2, ldRX2, linPred, P, ptr, RX, RXdiag, RXi,
.. .. setBeta0, setDelb, setDelu, setTheta, solve, solveU, sqrL, u, unsc,
.. .. updateDecomp, updateL, updateLamtUt, updateRes, updateXwts
..@ optinfo:List of 7
.. ..$ optimizer: chr "bobyqa"
.. ..$ control :List of 1
.. .. ..$ iprint: int 0
.. ..$ derivs :List of 2
.. .. ..$ gradient: num 1.61e-07
.. .. ..$ Hessian : num [1, 1] 14.1
.. ..$ conv :List of 2
.. .. ..$ opt : int 0
.. .. ..$ lme4: list()
.. ..$ feval : int 16
.. ..$ warnings : list()
.. ..$ val : num 0.848
...but this leaves me none the wiser.
At the time of edit the lme4 package has updated and memisc no longer works with these objects. Package texreg is an alternative. I've left this answer up in case memisc gets updated and it starts working again.
I think the inconvenient thing is that class (fm1) is lmerMod, but the methods you want are for class VarCorr.merMod. When you do methods (class="lm"), you get a bunch of useful functions, but methods (class="lmerMod") returns nothing.
Check if in your locale there is a columen "p-value" when you so a summary (lme (....)) Here is my solution: Suppose fit is the result of your lme model, e.g. fit <- lme (...). If you want to have all the variables displayed by summary (fit) you can simply type and you will see the structure-like result.
You can use the following methods to extract regression coefficients from the lm () function in R: Method 2: Extract Regression Coefficients with Standard Error, T-Statistic, & P-values The following example shows how to use these methods in practice. Suppose we fit the following multiple linear regression model in R:
lme4 supplies VarCorr
for extracting variance and correlation components:
varcor <- VarCorr(fm1)
as.data.frame(varcor)
# grp var1 var2 vcov sdcor
#1 Batch (Intercept) <NA> 1764.05 42.0006
#2 Residual <NA> <NA> 2451.25 49.5101
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With