Slightly off topic, but related :-) [Design Issues]

posted by ElMaestro  – Belgium?, 2019-12-08 01:31 (295 d 19:08 ago) – Posting: # 20961
Views: 3,327

Hi all,

» » Correct. If we would be allowed (pun!) to use a mixed-effects model. Patterson and Jones argued against this doubtful practice and the ethical implications of discarding data.
»
» Really, there is no problem in mixed model approach to use all data if model constructed correctly.

But would we really need a mixed model ??
I seem to recall a thread about it some time ago. I believe the normal linear model fits without trouble to a 222BE dataset with a missing period, so why would it be necessary to use a mixed model for that situation at all?
As I recall it mixed model done with ML are proven to give unbiased estimates, but it has never been proven that REML fits are unbiased (and REML is generally used in BE, whenever a discussion of the mixed model comes into play), hence I can't imagine that bias would be a reason for picking the mixed model over a linear model when we have a simple missing period situation?!? Am curious to learn more about this.

Here's an example in R:

rm(list=ls(all=TRUE))
library("emmeans")
set.seed(123456)
logCmax=rnorm(10,6, 2)
Subj=c(1,1,2,2,3,3,4,4,5,5)
Seq=c("AB", "AB", "BA", "BA", "AB", "AB", "BA","BA", "BA", "BA")
Per=c(rep(c(1,2), 5))
Trt=substr(Seq, Per, Per)
X=data.frame(Subj, Per, Trt, Seq, logCmax)
X
M1=lm(logCmax ~ factor(Seq)+factor(Subj)+factor(Trt)+factor(Per), data=X)
anova(M1)
lsmeans(M1, "Trt")
confint(pairs(lsmeans(M1, "Trt"), reverse =F), level=0.9)

Xm=X[-7,] ##let's delete a period
Xm
M2=lm(logCmax ~ factor(Seq)+factor(Subj)+factor(Trt)+factor(Per), data=Xm)
anova(M2)
lsmeans(M2, "Trt")
confint(pairs(lsmeans(M2, "Trt"), reverse =F), level=0.9)


Note e.g. that the two fits have different residuals and residual df's, which to me means incomplete subjects are not deleted (R does not know and is not being told something is incomplete; the full rank design matrix is still invertible and so on).
Many thanks for any light you can shed onto this.


Edit: I added set.seed(123456) to your code in order to get reproducible results. [Helmut]

I could be wrong, but...

Best regards,
ElMaestro

R's base package has 274 reserved words and operators, along with 1761 functions. I can use 18 of them (about 14 of them properly). I believe this makes me the Donald Trump of programming.

Complete thread:

Activity
 Admin contact
21,084 posts in 4,398 threads, 1,468 registered users;
online 9 (0 registered, 9 guests [including 5 identified bots]).
Forum time: Monday 21:40 CEST (Europe/Vienna)

A central lesson of science is that to understand complex issues
(or even simple ones), we must try to free our minds of dogma and
to guarantee the freedom to publish, to contradict, and to experiment.
Arguments from authority are unacceptable.    Carl Sagan

The Bioequivalence and Bioavailability Forum is hosted by
BEBAC Ing. Helmut Schütz
HTML5