Changes to Version 0.11-x (released March 2020)
o Faster calculation of diffusion density (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.
o Diffusion quantile function qdiffusion should be faster now when it is
called with many probabilities for the same response.
o Diffusion quantile function qdiffusion has a new argument max_diff which
allows to control the minimally acceptable difference between desired and
obtained probabilities.
o Added experimental 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").
o Tests should work even if options("stringsAsFactors" = FALSE) (in
preparation for R 4.0).
o 0.11-3: removed bug that diffusion functions failed if there were NAs in
the parameters.
o 0.11-3: uses RCPP STRICT_R_HEADERS:
https://github.com/rtdists/rtdists/pull/14
Changes to Version 0.10-x (released October 2019)
o Removed another argument passing bug that occured when using args.dist and
more than two drift rates. Reported by Glen Livingston Jr.
o Removed issue in vignette due to breaking change in a tidyverse package.
Changes to Version 0.9-x (released August 2018)
o 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 TRUE
Changes to Version 0.8-x (released December 2017 & updated June 2018)
o Removed bug preventing 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/7
o Removed an non-used "devtools::" call in tests that caused a false positive
CRAN warning (June 2018).
o Deactivated a few more tests in CRAN for faster checking (June 2018).
Changes to Version 0.7-x (released May 2017)
o Performance of diffusion functions and rLBA increased, especially for calls
with parameters that differ trialwise. As a consequence single rlba_...
functions now return a matrix and no data.frame.
o All C functions are now accessed via Rcpp.
o pdiffusion uses the C++ CDF (no more numerical integration in R).
o sv can produce slow errors, and sz fast erros (this was the wrong way around
in the documentation). Thanks to Gabriel Tillman for noticing that.
o removed a bug in the pdiffusion C code letting rtdists hang indefinitely
(see https://github.com/rtdists/rtdists/pull/3). Thanks to Tomas Kalibera
for the fix.
o removed bug: meanlog_v and sdlog_v were not recycled for the lnorm LBA.
o Ratcliff and Rouder (1998) vignette now uses nested data.frames and
purrr::map(i.e., more proper use of the tidyverse).
o removed bug when non-accumulator LBA parameters where passed as a named
list.
Changes to Version 0.6-6 (bug-fix version, released July 2016)
o Bug when passing start point with s != 1 removed.
Changes to Version 0.6-x (released July 2016)
o Start point z in diffusion model is now on absolute scale and not relative
to be in line with A (start point of LBA) which is also on absolute scale.
(Thanks to Steve Lewandowsky for noticing this.)
o PDFs, CDFs, and quantile functions of both models now accept a data.frame as
first argument containing both RTs/probabilities and responses. Allows more
convenient way to pass data.
o renamed boundary (argument in diffusion functions) to response to be in line
with LBA functions. (Thanks to Steve Lewandowsky for suggesting this.)
o added diffusion constant s as argument to all diffusion functions.
o added scale_p and scale_max arguments to quantile functions which
automatically scale the entered probability to more conveniently obtain
predicted quantiles.
o LBA functions now accept factor as response (which is converted via
as.numeric). This allows to pass results from rdiffusion directly to LBA
function.
o changed integration routine in 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.)
o removed bug preventing lnorm as distribution in rLBA. (Thanks to Steve
Lewandowsky for reporting this bug.)
Changes to Version 0.5-x (released May 2016)
o Calculation of the CDF for the diffusion model was incorrect (this bug was
present in all prior versions of rtdists). pdiffusion now simply
integrates the PDF to obtain the CDF using R's integrate which provides
the correct result (albeit slower).
o Added rr98 data set: Experiment 1 from Ratcliff and Rouder (1998,
Psych. Science). We thank Roger Ratcliff and Jeff Rouder for providing the
data.
o Added vignette showing how to analyze the data from Ratcliff and Rouder
(1998) with both diffusion and LBA model.
o Quantile functions work more robust and try uniroot if optimize does not
converge.
Changes to Version 0.4-x (released April 2016)
o Added 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 correpsonding 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.
o t0 in the LBA now accepts accumulator and trialwise parameters just as A
and b. st0 now accepts trialwise parameter (not accumulator wise).
o Diffusion model function have been renamed to ddiffusion, pdiffusion,
and rdiffusion. Added quantile function for diffusion model, qdiffusion.
o Diffusion model functions are now completely vectorized and accept
vectors as parameters (including for boundary). As for the LBA, this
allows a likelihood function which only includes one call to the density
function (see examples).
o Boundary parameter for diffusion functions accept numeric/factor vectors.
o 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.
o Density for diffusion model is now always positive.
o First argument in most functions (vector of response times) renamed to rt
(was t before).
o PDF and CDF LBA functions more robust (now mostly return 0 instead of NaN)
for problematic parameter values (such as A = 0) [2015-09-17].