Andras Farkas
2013-Jan-06 01:43 UTC
[R] How to use predict function from R2OpenBUGS results
Dear All, I made some headways on my ODE problem in R2OpenBUGS, but got stuck again. Wonder if someone could help on the following: I am running the following code: library(R2OpenBUGS) dosetotal <-c(500,250) z <-c(4,2) grid <-c(4,15) n.grid <-2 tol <-0.001 dim <-2 T <-2 origin <-0 dosetime <-c("1/05/2013 0:00","1/06/2013 00:00") dose <-tail(dosetotal, n=1) dosetime <-as.POSIXct(dosetime,format='%m/%d/%Y %H:%M') times <-matrix(c(difftime(dosetime[2],dosetime[1],units="hours"),difftime(dosetime[3],dosetime[2],units="hours"),difftime(dosetime[4],dosetime[3],units="hours"),difftime(dosetime[5],dosetime[4],units="hours"),difftime(dosetime[6],dosetime[5],units="hours"))) times[ is.na(times) ] <- 0 KSTART <-0.06 dosetotal <-matrix(c(dosetotal[1],dosetotal[2],dosetotal[3],dosetotal[4],dosetotal[5])) dosetotal[ is.na(dosetotal) ] <- 0 initc <-if (times[1,]==0) 0 else dosetotal[1]*exp(-KSTART*(times[1]+times[2]+times[3]+times[4]+times[5]))+dosetotal[2]*exp(-KSTART*(times[2]+times[3]+times[4]+times[5]))+dosetotal[3]*exp(-KSTART*(times[3]+times[4]+times[5]))+dosetotal[4]*exp(-KSTART*(times[4]+times[5]))+dosetotal[5]*exp(-KSTART*times[5])-ifelse(dosetotal[2,]==0,0,dose) model <- function() { for (i in 1:1) { for (j in 1:T) { z[j] ~ dnorm(Cb[j], 100) Cb[j] <- solution[j, 2] / vb } solution[1:n.grid, 1:dim] <- ode(init[1:dim], grid[1:n.grid], D(A[1:2], t),origin,tol) D(A[1], t) <- -ka * A[1] D(A[2], t) <- ka * A[1] - ke * A[2] init[1] <- dose init[2] <- initc kea ~ dnorm(0,6.25) kaa ~ dnorm(0,6.25) vba ~ dnorm(0,6.25) theta1 <-0.06 theta2 <-1.5 theta3 <-50 ke <-theta1*exp(kea) ka <-theta2*exp(kaa) vb <-theta3*exp(vba) } } res <- bugs(list(z = z, T = T,initc = initc, dose = dose,n.grid = n.grid, dim = dim, grid = grid, origin = origin, tol=tol), debug = FALSE,model.file = model, inits = NULL, parameters.to.save=c("ke", "ka", "vb"), n.chains=3, n.iter=10000) finalfdsc <- res$summary which will give me my well deserved results for the parameters I was looking for:-). My question is that is there a way to use the predict function somehow with the results generated to predict values for z at times let us say 0 to 10 at 1 hour intervals? I know predict will take results of nls, but I am having difficulties getting results with the bugs data... Apreciate the help, sincerely, Andras [[alternative HTML version deleted]]
Possibly Parallel Threads
- R2OpenBUGS question with differential equations
- Are they fully identical: WinBUGS and OpenBUGS; R2WinBUGS and R2OpenBUGS
- R2OpenBUGS quesion
- compare posterior samples from R2OpenBugs and R function bugs{R2WinBUGS}
- A question on time-dependent covariates in the Cox model.