Consider a mixed model as follows. library(lme4) # Load data data <- structure(list(blk = c(1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3L), gent = c(1, 2, 3, 4, 7, 11, 12, 1, 2, 3, 4, 5, 9, 1, 2, 3, 4, 8, 6, 10L), yld = c(83, 77, 78, 78, 70, 75, 74, 79, 81, 81, 91, 79, 78, 92, 79, 87, 81, 96, 89, 82L), syld = c(250, 240, 268, 287, 226, 395, 450, 260, 220, 237, 227, 281, 311, 258, 224, 238, 278, 347, 300, 289L)), .Names = c("blk", "gent", "yld", "syld"), class = "data.frame", row.names = c(NA, -20L)) data$blk <- as.factor(data$blk) data$gent <- as.factor(data$gent) The data is unbalanced. # Mixed effect model frmla <- "syld ~ 1 + gent + (1|blk)" library(lme4) model <- lmer(formula(frmla), data = data) model Linear mixed model fit by REML ['merModLmerTest'] Formula: syld ~ 1 + gent + (1 | blk) Data: data REML criterion at convergence: 73.9572 Random effects: Groups Name Std.Dev. blk (Intercept) 9.385 Residual 16.919 Number of obs: 20, groups: blk, 3 Fixed Effects: (Intercept) gent2 gent3 gent4 gent5 gent6 gent7 gent8 gent9 256.000 -28.000 -8.333 8.000 32.127 43.678 -36.805 90.678 62.127 gent10 gent11 gent12 32.678 132.195 187.195 Primarily I want to compare the `gent` levels by LS means. library("lmerTest") lsmeans(model) Least Squares Means table: gent Estimate Standard Error DF t-value Lower CI Upper CI p-value gent 1 1.0 256.0 11.2 6.9 22.9 229 283 <2e-16 *** gent 2 5.0 228.0 11.2 6.9 20.4 201 255 <2e-16 *** gent 3 6.0 247.7 11.2 6.9 22.2 221 274 <2e-16 *** gent 4 7.0 264.0 11.2 6.9 23.6 237 291 <2e-16 *** gent 5 8.0 288.1 18.5 8.0 15.6 245 331 <2e-16 *** gent 6 9.0 299.7 18.5 8.0 16.2 257 342 <2e-16 *** gent 7 10.0 219.2 18.5 8.0 11.8 177 262 <2e-16 *** gent 8 11.0 346.7 18.5 8.0 18.8 304 389 <2e-16 *** gent 9 12.0 318.1 18.5 8.0 17.2 275 361 <2e-16 *** gent 10 2.0 288.7 18.5 8.0 15.6 246 331 <2e-16 *** gent 11 3.0 388.2 18.5 8.0 21.0 346 431 <2e-16 *** gent 12 4.0 443.2 18.5 8.0 24.0 401 486 <2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 In addition I am interested in variance partitioning. The variance component due to random effect and residual can be estimated as follows. VCrandom <- VarCorr(model) print(VCrandom, comp = "Variance") Groups Name Variance blk (Intercept) 88.083 Residual 286.250 How to partition the total variance into components due to each of the factors `gent` and `blk` along with the residual ? Something similar to the output given by `PROC MIXED` of `SAS`, where MSE is computed even when estimation is by ML or REML instead of least squares. Should I treat the fixed effect as random just for the purpouse of getting variance component ? frmla2 <- "syld ~ 1 + (1|gent) + (1|blk)" model2 <- lmer(formula(frmla2), data = data) model2 VCrandom2 <- VarCorr(model2) print(VCrandom2, comp = "Variance") Groups Name Variance gent (Intercept) 4152.08 blk (Intercept) 116.11 Residual 274.92 If there is no random effect, variance components can be estimated using the least squares approach (ANOVA, Sum of squares, MSE). The package `mixlm` has provision for variance partitioning using SS in case of mixed models. library(mixlm) mixlm <- lm(syld ~ 1 + r(gent) + r(blk), data) Anova(mixlm, type="III") Analysis of variance (unrestricted model) Response: syld Mean Sq Sum Sq Df F value Pr(>F) gent 5360.49 58965.36 11 18.73 0.0009 blk 638.58 1277.17 2 2.23 0.1886 Residuals 286.25 1717.50 6 - - Err.term(s) Err.df VC(SS) 1 gent (3) 6 3044.5 2 blk (3) 6 52.8 3 Residuals - - 286.3 (VC = variance component) Expected mean squares gent (3) + 1.66666666666667 (1) blk (3) + 6.66666666666667 (2) Residuals (3) WARNING: Unbalanced data may lead to poor estimates The estimates are different # Total variance var(data$syld) |source | model1| model2| mixlm| |:--------|-------:|-------:|------:| |gent | NA| 4152.08| 3044.5| |blk | 88.083| 116.11| 52.8| |Residual | 286.250| 274.92| 286.3| Can fixed effect variance be extracted using `predict` function as suggested here [In R: How to extract the different components of variance in a linear mixed model!][1] ? var(predict(model)) Which is the most appropriate method compatible with `(RE)ML` estimates in lme4 ? [1]: https://sites.google.com/site/alexandrecourtiol/what-did-i-learn-today/inrhowtoextractthedifferentcomponentsofvarianceinalinearmixedmodel