[R] Problem with contour()

Helmut Schütz he|mut@@chuetz @end|ng |rom beb@c@@t
Mon Sep 28 21:05:31 CEST 2020


Dear all,

I can't get my head around how contour lines are drawn.
Working example(x and y are parameters of a certain test and z the 
resulting power):

library(PowerTOST)
x    <- 0.90
y    <- 0.35
res  <- as.numeric(sampleN.TOST(theta0 = x, CV = y, design = "2x2x4",
                                 method = "central", details = FALSE,
                                 print = FALSE)[7:8])
mesh <- 28
ys   <- unique(sort(c(y, seq(y*.8, y*1.2, length.out = mesh))))
xs   <- unique(sort(c(x, seq(x*0.95, 1, length.out = mesh))))
z    <- matrix(nrow = length(ys), ncol = length(xs),
                dimnames = list(paste0("y.", signif(ys, 5)),
                                paste0("x.", signif(xs, 5))))
for (i in seq_along(ys)) {
   for (j in seq_along(xs)) {
     z[i, j] <- suppressMessages(
                  power.TOST(CV = ys[i], theta0 = xs[j], design = "2x2x4",
                             method = "central", n = res[1]))
   }
}
z    <- z[nrow(z):1, ncol(z):1]          # reverse rows & columns
z[paste0("y.", y), paste0("x.", x)] == res[2] # should be TRUE
contour(xs, ys, z, nlevels = 20, las = 1, labcex = 1,
         xlab = "x", ylab = "y", main = paste("n =", n))
abline(h = y, v = x, lty = 2)
points(x, y, col = "red", cex = 1.5)
text(x, y, labels = signif(z[paste0("y.", y), paste0("x.", x)], 6),
      col = "red", adj = c(-0.1, 1.5))

At x = 0.9 and y = 0.35 z = 0.8130092. Obviously this does not agree 
with the contour-lines.
I'm sure that I screwed up - but where?

All the best,
Helmut

-- 
Ing. Helmut Schütz
BEBAC – Consultancy Services for
Bioequivalence and Bioavailability Studies
Neubaugasse 36/11
1070 Vienna, Austria
E helmut.schuetz using bebac.at
W https://bebac.at/
F https://forum.bebac.at/



More information about the R-help mailing list