# Back-Transforming contrast of Least square trends

• ### Question

• Hello everyone!

I calculated a linear mixed model using the packages lme4 and lsmeans with the lmer-function, where i have one dependent variable rv and the interacting factors treatment, time, age and race. I'm interested in the response variable change over time, that's why i use the lstrends-function. So far so good. The problem is, i have to square root the response variable in order to fit the model properly. But the pairs-function only gives out a response to the square root of the rv, hard to interpret!

So i tried to back-transform the response variable after pairs:

``````model.lmer <- lmer(sqrt(rv) ~ treat*time*age*race + (1|individual), data=mydata)
model.lst <- lstrends(model.lmer, ~treat | age*race , var = "time", type="response")
pairs(mouse.lst, type="response")``````

This obviously doesn't work, as stated by the package itself:

``````# Transformed response
sqwarp.rg <- ref.grid(update(warp.lm, sqrt(breaks) ~ .))
summary(sqwarp.rg)

# Back-transformed results - compare with summary of 'warp.rg'
summary(sqwarp.rg, type = "response")

# But differences of sqrts can't be back-transformed
summary(pairs(sqwarp.rg, by = "wool"), type = "response")

# We can do it via regrid
sqwarp.rg2 <- regrid(sqwarp.rg)
summary(sqwarp.rg2)  # same as for sqwarp.rg with type = "response"
pairs(sqwarp.rg2, by = "wool")``````

Anybode got an idea how to solve this particular problem? Thanks in advance!

edit1:

It could look like the following code:

``summary(pairs(lsmeans(rg.regrid, ~ treat | race*age, trend="time")), type="response")``

The problem is, i can't alter the reference grid for lstrends, just for lsmeans, because the first argument in lstrends or lsmeans with trend="time" requires the linear mixed effect model (model.lmer) intead of just the reference grid like in lsmeans, without the trend-argument... That's probably why i can't back-transform the data with

edit2: This here sums up my problem pretty well:

``````model.sqrt <- lmer(sqrt(rv) ~ time*treat*race*age, data=mydata)
rg <- ref.grid(model.sqrt)
rg.regrid <- regrid(rg)
summary(pairs(lsmeans(rg.regrid, ~treat | race*age*time), type = "response"))``````

works perfectly.

``summary(pairs(lsmeans(rg.regrid, ~treat | race*age, trend="time"), type = "response"))``

Gives the following error:

``````Error in summary(pairs(lsmeans(rg.regrid, ~vns | gen * age, trend = "time"),  :
error in evaluating the argument 'object' in selecting a method for function 'summary': Error in data[[var]] : subscript out of bounds``````

How to avoid the error and still be able to back-transform my data of the lstrends?

Tuesday, August 9, 2016 8:46 PM

### All replies

• This isn't an MRO-specific issue; it's a general R question about the lme package. You might have better luck asking your question on StackOverflow. Here are some questions that might be relevant:

http://stackoverflow.com/search?q=%5Br%5D+lme4+contrasts

Hope this helps,

# David

Tuesday, August 9, 2016 10:35 PM