I am trying to analyze a study that has three treatment groups and the measurements are conducted on the same subjects over time. The first time point is a baseline measurement and then there are 7 additional time points. I have taken the primary data and have fit a mixed effects model: resp ~ baseline + treat * time + (time|subject) using the syntax for lmer. Once I have the model fit I used the package lsmeans to obtain model estimates with confidence limits at the different time points.

The question here is whether with this model I am able to obtain estimates for changes from baseline. Alternatively, I could subtract the baseline values for each subject and refit the model on the change from baseline data, rather than the original data. What is more appropriate?

Related to the previous question, if the data fitted are the primary data rather than the change from baseline, is there a way to get from lsmeans the estimates for change from baseline values with the corresponding 95% confidence limits?

Please advise.

  • $\begingroup$ I hope that now is clearer. Thank you for the suggestion. $\endgroup$
    – Toouggy
    Apr 26, 2016 at 4:20

1 Answer 1


If you fit the model with offset(baseline) instead of just baseline, then the lsmeans will indeed be in terms of changes from baseline. This is due to the fact that offset in essence puts in a covariate with its regression coefficient constrained to be 1 -- hence it is equivalent to subtracting it from the response.

But with baseline as an ordinary covariate, I am having trouble understanding what you would even mean by "change from baseline" in such a model. You could test the hypothesis $H_0: \beta_1=1$ versus $H_1: \beta_1\ne1$, where $\beta_1$ is the coefficient for baseline; and if rejected, it would suggest that change from baseline is not all that meaningful when explaining the factor effects.

I suppose another approach would be to add the argument

lsmeans( ..., cov.reduce = baseline ~ treat)

which would put in separate baseline predictions for each treatment; the results would then be predictions using predicted baseline values as a moderating variable. The LS means will be (means of) predictions from the model at those baseline values. However if you subtract 1 from $\hat\beta_1$, you obtain changes from those baseline values, because

$$ \beta_0 + (\beta_1 - 1)x + \mbox{factor effects} = (\beta_0 + \beta_1 x + \mbox{factor effects}) - x $$

where $x$ is the baseline value. You can implement this by devilish hacking, something like this:

lsm = lsmeans(...)   # with or without that cov.reduce thing
lsm@bhat[2] = lsm@bhat[2] - 1

This assumes that baseline is the first term in the model (second to the intercept). The statistical output is still valid because the variance of $\hat\beta_1-1$ is the same as the variance of $\hat\beta_1$, as is also true of the covariances of this with other regression coefficients.

But, as I said, this may or may not be what you mean by change from baseline when baseline is used as a covariate.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.