## Graphing Mean PK profile [🇷 for BE/BA]

Hi roman_max,

❝ ❝ The sponsor should re-consider this idea. Box-plots are nonparametric. For log-normal distributed data (which we likely have) the median is an estimate of the geometric mean. If we want to go this way, the arithmetic mean is not a good idea.

❝ Agree, but if it is easier for Sponsor to view and "understand" data, no problem.

Any kind of plot is problematic. Given, some guidelines require them (e.g., the Canadian guidance). We should be aware that such a plot gives just an impression and is not related with the assessment of BE.
I once received a deficiency letter asking for a clarification why in plots of geometric mean profiles the highest concentrations and their time points didn’t agree with the reported Cmax/tmax. Well, C at any given time point has nothing to do with the individual Cmax-values and their geometric mean. Oh, dear!
There’s another obstacle. How to deal with BQLs? If you set them to NA (in R) or keep them as a character-code (Phoenix/WinNonlin) you open Pandora’s box. Let’s have a look at the 16 h time point of my example:
loc.stat <- function(x, type, na.rm) {   non.numerics    <- which(is.na(suppressWarnings(as.numeric(x))))   x[non.numerics] <- NA   x <- as.numeric(x)   switch(type,          arith.mean = round(mean(x, na.rm=na.rm), 2),          median     = round(median(x, na.rm=na.rm), 2),          geom.mean  = round(exp(mean(log(x), na.rm=na.rm)), 2),          harm.mean  = round(length(x)/sum(1/x, na.rm=na.rm), 2)) } C <- c(rep("BQL", 2), 9.87, rep("BQL", 2), 15.4, 13.0, 35.2,        rep("BQL", 4), 9.91, 9.43, rep("BQL", 2), 16.6, rep("BQL", 4),        5.69, 21.2, 10.4) df <- data.frame(statistic=c(rep("arith.mean", 2), rep("median", 2),                  rep("geom.mean", 2), rep("harm.mean", 2)),                  na.rm=rep(c(FALSE, TRUE), 4),                  location=NA, stringsAsFactors=FALSE) for (j in 1:nrow(df)) {   df$location[j] <- loc.stat(C, df$statistic[j], df\$na.rm[j]) } print(df, row.names=FALSE)   statistic na.rm location  arith.mean FALSE       NA  arith.mean  TRUE    14.67      median FALSE       NA      median  TRUE    11.70   geom.mean FALSE       NA   geom.mean  TRUE    12.98   harm.mean FALSE       NA   harm.mean  TRUE    27.98 # not meaningful, only for completeness

Some people set all BQLs to zero in order to calculate the arithmetic mean. Others set the first BQL after tmax to LLOQ/2, and, and, and… There will always be a bias.

Dif-tor heh smusma 🖖🏼 Довге життя Україна!
Helmut Schütz

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