※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

lme で IV 1-コンパートメントモデル


  • k は正規分布
  • V は対数正規分布
  • 個体内誤差は対数正規分布
  • 両辺を対数変換すると線形モデルになる

require(nlme)

set.seed(2801)

n <- 50
m <- 5

k <- 0.1 + rnorm(n, mean=0, sd=0.1*0.2)
k[k<=0] # check
v <- 1 * exp(rnorm(n, mean=0, sd=0.2))

ds <- data.frame(
  ID=rep(seq(n), each=m),
  TIME=runif(n*m, min=5/60, max=24),
  k=rep(k, each=m),
  v=rep(v, each=m)
)

iv1 <- function(TIME, k, v, Dose=1) {
  Dose / v * exp(-k * TIME)
}

ds$PRED <- with(ds, iv1(TIME, k, v))
ds$DV <- ds$PRED * exp(rnorm(n*m, sd=0.1))

ds.g <- groupedData(DV ~ TIME | ID, ds, order.groups=F)

(fm1 <- lm(log(DV) ~ TIME, ds))

(fm2 <- lme(log(DV) ~ TIME, ds.g, random=pdDiag(form=~1)))

(fm3 <- lme(log(DV) ~ TIME, ds.g,
  random=pdDiag(form=~1+TIME)
))


参照

R