Bioequivalence and Bioavailability Forum 13:06 CET

Main page Policy/Terms of Use Abbreviations Latest Posts

 Log in |  Register |  Search

Kenward-Roger? [Study As­sess­ment]

posted by Helmut Homepage - Vienna, Austria, 2016-05-28 15:59  - Posting: # 16369
Views: 11,974

Hi Angus,

» Jerry from NCSS reports the following:
»
» We have looked into this and resolved it in our own minds. NCSS uses the Kenwood-Rogers method for degrees of freedom which is an extension of the Satterthwaite method.

Really? Still I can’t reproduce results of NCSS in R (data prepared like in this post).

library(lmerTest)
library(pbkrtest)
muddle   <- lmer(log(Cmax) ~ log(Dose) + (1|Subj), data=resp)
sum.Satt <- summary(muddle, ddf="Satterthwaite")
res.Satt <- data.frame(0:1, sum.Satt$coeff[ , "Estimate"],
                       sum.Satt$coeff[, 2],
                       sum.Satt$coeff[, 3],
                       sum.Satt$coeff[, 1]-
                       qt(1-0.05, sum.Satt$coeff[, 3])*
                       sum.Satt$coeff[, 2],
                       sum.Satt$coeff[, 1]+
                       qt(1-0.05, sum.Satt$coeff[, 3])*
                       sum.Satt$coeff[, 2],
                       row.names=NULL)
sum.KR <- summary(muddle, ddf="Kenward-Roger")
res.KR <- data.frame(0:1, sum.KR$coeff[ , "Estimate"],
                     sum.KR$coeff[, 2],
                     sum.KR$coeff[, 3],
                     sum.KR$coeff[, 1]-
                     qt(1-0.05, sum.KR$coeff[, 3])*
                     sum.KR$coeff[, 2],
                     sum.KR$coeff[, 1]+
                     qt(1-0.05, sum.KR$coeff[, 3])*
                     sum.KR$coeff[, 2],
                     row.names=NULL)
names(res.KR) <- names(res.Satt) <- c("B", "PE", "SE", "df",
                                      "CLlower", "CLupper")
print(round(res.Satt, 4), row.names=FALSE)
print(round(res.KR, 4), row.names=FALSE)


Satterthwaite
B   PE     SE     df   CLlower CLupper
0 1.9414 0.2431 9.1956  1.4968  2.3860
1 0.7617 0.0473 5.8961  0.6696  0.8539

Kenward-Roger
B   PE     SE     df   CLlower CLupper
0 1.9414 0.2431 9.0915  1.4962  2.3866
1 0.7617 0.0473 5.7527  0.6692  0.8543


Modified results of NCSS from a previous posts:
B   PE     SE     df   CLlower CLupper
0 1.9414 0.2496 9.2     1.4849  2.3978
1 0.7617 0.0492 5.9     0.6659  0.8576


As zizou suspected in this post there are differences in the SEs (therefore, we get different CIs even if DFs are identical) – which leaves the question open why they are different when compared to the other packages. NCCS seems to use Satterthwaite’s DFs and not Kenward-Roger’s (contrary to the documentation and what Jerry told you).

Cheers,
Helmut Schütz
[image]

The quality of responses received is directly proportional to the quality of the question asked. ☼
Science Quotes

Complete thread:

Activity
 Mix view
Bioequivalence and Bioavailability Forum |  Admin contact
19,032 posts in 4,059 threads, 1,299 registered users;
online 22 (0 registered, 22 guests [including 13 identified bots]).

When a distinguished but elderly scientist states that
something is possible, he is almost certainly right.
When he states that something is impossible,
he is very probably wrong.    Arthur C. Clarke

The BIOEQUIVALENCE / BIOAVAILABILITY FORUM is hosted by
BEBAC Ing. Helmut Schütz
HTML5 RSS Feed