Skip to content

Offset() in gls() in nlme

5 messages · ONKELINX, Thierry, Douglas Bates, Mark Payne +1 more

#
Hi,

I am trying to use the following model formula in gls() in the nlme package:

R ~ Turb + offset(ssb)

Unfortunately, gls() seems to ignore the offset argument and give results
that are identical to

R ~ Turb

This is not the case when I use lm() - however, I would like to include a
corAR1() term as well, which is why I am using gls().

Is this known and intended behaviour? If so, is there a recommended
workaround/alternative?

Best wishes,

Mark
#
Dear Mark,

In case of a linear model you can create a new variable Y = R - ssb and model Y without offset instead of R with ssb as offset. That should give the same parameter estimates.

Best regards,

ir. Thierry Onkelinx
Instituut voor natuur- en bosonderzoek / Research Institute for Nature and Forest
team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance
Kliniekstraat 25
1070 Anderlecht
Belgium
+ 32 2 525 02 51
+ 32 54 43 61 85
Thierry.Onkelinx at inbo.be
www.inbo.be

To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of.
~ Sir Ronald Aylmer Fisher

The plural of anecdote is not data.
~ Roger Brinner

The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data.
~ John Tukey

-----Oorspronkelijk bericht-----
Van: r-sig-mixed-models-bounces at r-project.org [mailto:r-sig-mixed-models-bounces at r-project.org] Namens Mark Payne
Verzonden: dinsdag 11 november 2014 13:23
Aan: r-sig-mixed-models at r-project.org
Onderwerp: [R-sig-ME] Offset() in gls() in nlme

Hi,

I am trying to use the following model formula in gls() in the nlme package:

R ~ Turb + offset(ssb)

Unfortunately, gls() seems to ignore the offset argument and give results that are identical to

R ~ Turb

This is not the case when I use lm() - however, I would like to include a
corAR1() term as well, which is why I am using gls().

Is this known and intended behaviour? If so, is there a recommended workaround/alternative?

Best wishes,

Mark


_______________________________________________
R-sig-mixed-models at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
* * * * * * * * * * * * * D I S C L A I M E R * * * * * * * * * * * * *
Dit bericht en eventuele bijlagen geven enkel de visie van de schrijver weer en binden het INBO onder geen enkel beding, zolang dit bericht niet bevestigd is door een geldig ondertekend document.
The views expressed in this message and any annex are purely those of the writer and may not be regarded as stating an official position of INBO, as long as the message is not confirmed by a duly signed document.
#
It may work if  you use the offset argument instead of putting an offset
term in the formula.  The model-fitting code in R (and S before it)
sometimes has the "there's more than one way to do it" approach of Perl.
This is convenient for users but not for those writing the code.  I believe
we implemented the offset argument form.

On Wed Nov 12 2014 at 2:52:30 AM ONKELINX, Thierry <Thierry.ONKELINX at inbo.be>
wrote:

  
  
4 days later
#
Hi Douglas,

Thanks for the reply - unfortunately there doesn't seem to be an offset 
argument either in the latest version of nlme... :-(

 > gls
function (model, data = sys.frame(sys.parent()), correlation = NULL,
     weights = NULL, subset, method = c("REML", "ML"), na.action = na.fail,
     control = list(), verbose = FALSE)

 > packageDescription("nlme")
Package: nlme
Version: 3.1-118
Date: 2014-10-07

Mark
On 13/11/14 04:54, Douglas Bates wrote:
#
In that case, I believe Thierry's solution is correct.  For linear models,
offsets are a convenience rather than a necessity.
On Sun, Nov 16, 2014 at 4:40 PM, Mark Payne <mpay at aqua.dtu.dk> wrote: