[R] Calculation error

Joshua Wiley jwiley.psych at gmail.com
Mon May 3 02:10:36 CEST 2010


Dear Oscar,

The problem has to do with rounding (because you set the global digits
value to 2).  Although what you see is 2.4*270=670; when R actually
calculates it, it is using full precision.  If you set

options(digits=7) # the default

you will see that AR=2.357362, not 2.4.

HTH,


Joshua

On Sun, May 2, 2010 at 4:48 PM, oscar linares <winsaam at gmail.com> wrote:
> Dear Rxperts,
>
> Running the following code:
> =======================================================
> twlo=10; twhi=20; wt=154; vd=0.5; cl=0.046; tau=6; t=3; F=1;
>
> wtkg  <- wt/2.2             # convert lbs to kg
>
>  vd.pt <- wtkg * vd       # compute weight-based vd (L)
>  cl.pt <- wtkg * cl       # compute CL (L/hr)
>  k     <- cl.pt/vd.pt     # compute k (hr^-1)
>
>  cave      <- round((twhi - twlo)/log(twhi/twlo),2)
>  doserate  <- (cl.pt * cave)/F
>
>  # maintenance dose (Dm)
>  total_dose_tau <- round(doserate * tau,0)
>
>  Cmax <- total_dose_tau/vd.pt
>  Cmin <- Cmax * exp(-k * tau)
>
>  AR <- 1/(1 - exp(-k * tau))
>
>  Cmaxss <- Cmax * AR
>  Cminss <- Cmin * AR
>  Cfluctss <- (Cmaxss - Cminss)
>  Ct       <- (Cmaxss * exp(-k * t))
>
>  dose_loading_vd <- round(Cmaxss * vd.pt,0)
>  dose_loading_dm <- round(total_dose_tau * AR,0)
>
>  options(digits=2)
>
> c("Ther. Win. (mg)"=twlo,"to"=twhi,"Wt (kg)"=wtkg,"Vd (L)"=vd.pt,"CL
> (L/hr)"=cl.pt,"Cave (mg)"=cave,"D/tau (mg/hr)"=doserate,"tau
> (hr)"=tau,"Total Dose (mg)"=total_dose_tau,"Cmax (mg)"=Cmax,"Cmin
> (mg)"=Cmin,"AR"=AR,"Cmaxss (mg/L)"=Cmaxss,"Cminss (mg/L)"=Cminss,"Cfluct
> (mg/L)"=Cfluctss,"C(t) (mg/L)"=Ct,"DL wVd (mg)"=dose_loading_vd,"DL wDm
> (mg)"=dose_loading_dm)
> ===========================================================================
> Gives
> Ther. Win. (mg)              to         Wt (kg)          Vd (L)       CL
> (L/hr)       Cave (mg)
>           10.0            20.0            70.0            35.0
> 3.2            14.4
>  D/tau (mg/hr)        tau (hr) Total Dose (mg)       Cmax (mg)       Cmin
> (mg)              AR
>           46.5             6.0           279.0             8.0
> 4.6             2.4
>  Cmaxss (mg/L)   Cminss (mg/L)   Cfluct (mg/L)     C(t) (mg/L)     DL wVd
> (mg)     DL wDm (mg)
>           18.8            10.8             8.0            14.3
> 658.0           658.0
>
> But, there is an error from R?
>
> AR * total_dose_tau = 658 but that is wrong
>
> Total Dose (mg) = 279 * AR (=2.4) = 670
>
> Please help. I don't want to harm anyone. A difference of 12 mg of a highly
> toxic drug can at the very least cause significant harm.
>
>
> --
> Oscar
> Oscar A. Linares, MD
> Translational Medicine Unit
> La Plaisance Bay, Bolles Harbor
> Monroe, Michigan 48161
>
> Department of Medicine,
> University of Toledo College of Medicine
> Toledo, OH 43606-3390
>
> Department of Internal Medicine,
> The Detroit Medical Center (DMC)
> Harper University Hospital
> Wayne State University School of Medicine
> Detroit, Michigan 48201
>
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



-- 
Joshua Wiley
Senior in Psychology
University of California, Riverside
http://www.joshuawiley.com/



More information about the R-help mailing list