From 2ab48189d5b6c45232fadb91f601c966e32ff5e9 Mon Sep 17 00:00:00 2001 From: Kinh Nguyen <4459378+kklot@users.noreply.github.com> Date: Fri, 17 Dec 2021 18:42:04 +0100 Subject: [PATCH 1/3] missing assignment logrw (cherry picked from commit f5c01a0c448cf380ba6d3df791475b5b90fd78e0) --- R/likelihood.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/R/likelihood.R b/R/likelihood.R index a55827c..1c9e05a 100644 --- a/R/likelihood.R +++ b/R/likelihood.R @@ -696,8 +696,8 @@ ldsamp <- function(theta, fp){ else # logrw lpr <- dnorm(theta[1], 0.2, 1, log=TRUE) - if(fp$eppmod == "logrw") - bayes_lmvt(theta[2:fp$rt$n_rw], rw_prior_shape, rw_prior_rate) + if (fp$eppmod == "logrw") + lpr <- bayes_lmvt(theta[2:fp$rt$n_rw], rw_prior_shape, rw_prior_rate) else lpr <- bayes_lmvt(theta[2:nk], tau2_prior_shape, tau2_prior_rate) From 984976d8ec2d5d8939176a8f942a211b1091b732 Mon Sep 17 00:00:00 2001 From: Kinh Nguyen <4459378+kklot@users.noreply.github.com> Date: Fri, 17 Dec 2021 18:46:08 +0100 Subject: [PATCH 2/3] ldsamp fix overwriting log prior and rearrange (cherry picked from commit a0b3c097324867e7e49b08cc31e3e3a26241540d) --- R/likelihood.R | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/R/likelihood.R b/R/likelihood.R index 1c9e05a..286e7cc 100644 --- a/R/likelihood.R +++ b/R/likelihood.R @@ -691,16 +691,14 @@ ldsamp <- function(theta, fp){ nk <- fp$numKnots - if(fp$eppmod == "rspline") # u[1] - lpr <- dnorm(theta[1], 1.5, 1, log=TRUE) - else # logrw - lpr <- dnorm(theta[1], 0.2, 1, log=TRUE) - - if (fp$eppmod == "logrw") - lpr <- bayes_lmvt(theta[2:fp$rt$n_rw], rw_prior_shape, rw_prior_rate) - else - lpr <- bayes_lmvt(theta[2:nk], tau2_prior_shape, tau2_prior_rate) - + if (fp$eppmod == "rspline") { # u[1] + lpr <- dnorm(theta[1], 1.5, 1, log = TRUE) + lpr <- lpr + bayes_lmvt(theta[2:nk], tau2_prior_shape, tau2_prior_rate) + } + if (fp$eppmod == "logrw") { + lpr <- dnorm(theta[1], 0.2, 1, log = TRUE) + lpr <- lpr + bayes_lmvt(theta[2:fp$rt$n_rw], rw_prior_shape, rw_prior_rate) + } if(exists("r0logiotaratio", fp) && fp$r0logiotaratio) lpr <- lpr + dunif(theta[nk+1], r0logiotaratio.unif.prior[1], r0logiotaratio.unif.prior[2], log=TRUE) From bf1e0bdee9207d20a1fba3da66c236d9dc4c0dc3 Mon Sep 17 00:00:00 2001 From: Kinh Nguyen <4459378+kklot@users.noreply.github.com> Date: Fri, 17 Dec 2021 21:23:45 +0100 Subject: [PATCH 3/3] add theta[1] to lprior --- R/likelihood.R | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/R/likelihood.R b/R/likelihood.R index 286e7cc..bf5333b 100644 --- a/R/likelihood.R +++ b/R/likelihood.R @@ -449,11 +449,13 @@ lprior <- function(theta, fp){ nk <- fp$numKnots - if(fp$eppmod == "logrw") - lpr <- bayes_lmvt(theta[2:fp$numKnots], rw_prior_shape, rw_prior_rate) - else - lpr <- bayes_lmvt(theta[(1+fp$rtpenord):nk], tau2_prior_shape, tau2_prior_rate) - + if (fp$eppmod == "logrw") { + lpr <- dnorm(theta[1], 0.2, 1, log = TRUE) + lpr <- lpr + bayes_lmvt(theta[2:fp$rt$n_rw], rw_prior_shape, rw_prior_rate) + } else { + lpr <- dnorm(theta[1], 1.5, 1, log = TRUE) + lpr <- lpr + bayes_lmvt(theta[(1 + fp$rtpenord):nk], tau2_prior_shape, tau2_prior_rate) + } if(exists("r0logiotaratio", fp) && fp$r0logiotaratio) lpr <- lpr + dunif(theta[nk+1], r0logiotaratio.unif.prior[1], r0logiotaratio.unif.prior[2], log=TRUE) else