Released September 2026
?RDM. Thanks to
Kianté Fernandez (#23).pwald (and thereby pRDM) losing
precision when 2*b*v/s^2 is large (e.g., with
s = 0.1), and returning 0 instead of 1 for
rt = Inf. Thanks to Gidon Frischkorn for finding this
(#26).pdiffusion that occurred
whenever RTs were not ordered. Thanks to Kianté Fernandez (#21).ddiffusion when called with
large number of RTs and varying parameters. Thanks to Kianté Fernandez
(#21).dlba_lnorm, plba_lnorm,
dlba_gamma, plba_gamma) that produced
incorrect results when any element of A was below
1e-10 (the A_small branch). The lognormal functions used
max instead of min in several intermediate
calculations, plba_lnorm did not apply rem_t0
in the A_small branch, and the gamma functions used full-length vectors
instead of subsetted ones.dlba_frechet and plba_frechet
returning 0 for A = 0 (no start-point variability). They
now use the closed form for a fixed start point, as the other
distributions do (#4).pdiffusion for
starting values near the boundary (#13). The PDE boundary conditions at
t=0 differed from the F_limit initial condition, causing
incorrect interpolation near z = a (or z = 0).Released June 2026.
rdiffusion preventing RTs <
t0. Thanks to Andrew Heathcote for reporting this.Released March 2020.
ddiffusion)
and CDF (pdiffusion) in case exactly one set of parameters
is passed. In this case, some checks are skipped now leading to a 40% to
50% speed increase.qdiffusion should be faster
now when it is called with many probabilities for the same
response.qdiffusion has a new
argument max_diff which allows to control the minimally
acceptable difference between desired and obtained probabilities.method = "qdiffusion" to
rdiffusion() which obtains random derivates via the
quantile function and runif(). This method is for the time
being a lot slower than the native one (i.e.,
method = "fastdm").options("stringsAsFactors" = FALSE) (in preparation for R
4.0).STRICT_R_HEADERS:
https://github.com/rtdists/rtdists/pull/14Released October 2019.
args.dist and more than two drift rates. Reported by Glen
Livingston Jr.Released August 2018.
Removed bug in dLBA and pLBA that
prevented correct usage of trial-wise parameters. This bug always
appeared when data with more than one response was present together with
trial-wise parameters. In the following example the first call should be
identical to the second and third call:
x1 <- dLBA(rt=c(1,1), response=c(1,2), A=1,b=list(c(1,3),c(2,4)),
t0=0.1, mean_v=c(3,3), sd_v=c(1,1),distribution="norm")
x2a <- dLBA(rt=c(1), response=c(1), A=1,b=list(c(1),c(2)),
t0=0.1,mean_v=c(3,3),sd_v=c(1,1),distribution="norm")
x2b <- dLBA(rt=c(1), response=c(2), A=1,b=list(c(3),c(4)),
t0=0.1,mean_v=c(3,3),sd_v=c(1,1),distribution="norm")
all(x1 == c(x2a, x2b)) ## should be TRUEReleased December 2017 & updated June 2018.
args.list (e.g.,
posdrift) to be passed correctly in dLBA,
pLBA, qLBA, and rLBA. Thanks to
Bruno Nicenboim for reporting this. See:
https://github.com/rtdists/rtdists/issues/7devtools:: call in tests that
caused a false positive CRAN warning (June 2018).Released May 2017.
rLBA increased,
especially for calls with parameters that differ trialwise. As a
consequence single rlba_... functions now return a matrix
and no data.frame.pdiffusion uses the C++ CDF (no more numerical
integration in R).sv can produce slow errors, and sz fast
errors (this was the wrong way around in the documentation). Thanks to
Gabriel Tillman for noticing that.pdiffusion C code letting rtdists
hang indefinitely (see https://github.com/rtdists/rtdists/pull/3).
Thanks to Tomas Kalibera for the fix.meanlog_v and sdlog_v were
not recycled for the lnorm LBA.data.frames and purrr::map (i.e., more proper
use of the tidyverse).Bug-fix version, released July 2016.
s != 1 removed.Released July 2016.
z in diffusion model is now on absolute
scale and not relative to b in line with A
(start point of LBA) which is also on absolute scale. (Thanks to Steve
Lewandowsky for noticing this.)data.frame as first argument containing both
RTs/probabilities and responses. Allows more convenient way to pass
data.boundary (argument in diffusion functions) to
response to be in line with LBA functions. (Thanks to Steve
Lewandowsky for suggesting this.)s as argument to all diffusion
functions.scale_p and scale_max arguments to
quantile functions which automatically scale the entered probability to
more conveniently obtain predicted quantiles.factor as response (which is
converted via as.numeric). This allows to pass results from
rdiffusion directly to LBA function.pdiffusion to
pracma::integral() which seems to be more robust. (Thanks
to Anna-Lena Schubert and Steve Lewandowsky for reporting problems with
the previous version.)lnorm as distribution in
rLBA. (Thanks to Steve Lewandowsky for reporting this
bug.)Released May 2016.
pdiffusion now simply integrates the PDF to obtain the CDF
using R’s integrate which provides the correct result
(albeit slower).rr98 data set: Experiment 1 from Ratcliff and
Rouder (1998, Psych. Science). We thank Roger Ratcliff and Jeff Rouder
for providing the data.uniroot if
optimize does not converge.Released April 2016.
dLBA(), pLBA(), qLBA(),
and rLBA(). dLBA() is a fully vectorized
versions of n1PDF which has response as second argument,
allowing to get the density for each response and corresponding response
time in one step. As for the diffusion model (see below), this allows a
likelihood function which only includes one call to the density
function. pLBA() and qLBA() are the
corresponding CDF and quantile functions, respectively.
rLBA() is a fully vectorized version of the RNG functions
and should be used from now on as top-level function.t0 in the LBA now accepts accumulator and trialwise
parameters just as A and b. st0
now accepts trialwise parameter (not accumulator wise).ddiffusion, pdiffusion, and
rdiffusion. Added quantile function for diffusion model,
qdiffusion.t0 in the diffusion model now corresponds to the lower
bound of the uniform distribution from which t0 is drawn
(it was the mean before). The specifications of t0 now
agree between LBA and diffusion model.rt (was t before).A = 0)
[2015-09-17].