predictRTConf | R Documentation |
predictConf
predicts the categorical response distribution of
decision and confidence ratings, predictRT
computes the predicted
RT distribution (density) for the sequential sampling confidence model
specified by the argument model
, given specific parameter constellations.
This function calls the respective functions for diffusion based
models (dynWEV and 2DSD: predictWEV
) and race models (IRM, PCRM,
IRMt, and PCRMt: predictRM
).
predictConf(paramDf, model = NULL, maxrt = 15, subdivisions = 100L,
simult_conf = FALSE, stop.on.error = FALSE, .progress = TRUE)
predictRT(paramDf, model = NULL, maxrt = 9, subdivisions = 100L,
minrt = NULL, simult_conf = FALSE, scaled = FALSE, DistConf = NULL,
.progress = TRUE)
paramDf |
a list or dataframe with one row. Column names should match the
names of the respective model parameters. For different stimulus
quality/mean drift rates, names should be |
model |
character scalar. One of "2DSD", "dynWEV", "IRM", "PCRM", "IRMt", or "PCRMt". |
maxrt |
numeric. The maximum RT for the
integration/density computation. Default: 15 (for |
subdivisions |
|
simult_conf |
logical, only relevant for dynWEV and 2DSD. Whether in the experiment
confidence was reported simultaneously with the decision, as then decision and confidence
judgment are assumed to have happened subsequent before response and computations are
different, when there is an observable interjudgment time (then |
stop.on.error |
logical. Argument directly passed on to integrate. Default is FALSE, since the densities invoked may lead to slow convergence of the integrals (which are still quite accurate) which causes R to throw an error. |
.progress |
logical. If TRUE (default) a progress bar is drawn to the console. |
minrt |
numeric or NULL(default). The minimum rt for the density computation. |
scaled |
logical. For |
DistConf |
|
The function predictConf
consists merely of an integration of
the reaction time density of the given model, {d*model*}
, over the response
time in a reasonable interval (0 to maxrt
). The function predictRT
wraps
these density functions to a parameter set input and a data.frame output.
For the argument paramDf
, the output of the fitting function fitRTConf
with the respective model may be used.
predictConf
returns a data.frame
/tibble
with columns: condition
, stimulus
,
response
, rating
, correct
, p
, info
, err
. p
is the predicted probability of a response
and rating
, given the stimulus category and condition. info
and err
refer to the
respective outputs of the integration routine used for the computation.
predictRT
returns a data.frame
/tibble
with columns: condition
, stimulus
,
response
, rating
, correct
, rt
and dens
(and densscaled
, if scaled=TRUE
).
Different parameters for different conditions are only allowed for drift rate,
v
, drift rate variability, sv
(in dynWEV and 2DSD), and process variability
s
. All other parameters are used for all conditions.
Sebastian Hellmann.
# Examples for "dynWEV" model (equivalent applicable for
# all other models (with different parameters!))
# 1. Define some parameter set in a data.frame
paramDf <- data.frame(a=1.5,v1=0.2, v2=1, t0=0.1,z=0.52,
sz=0.3,sv=0.4, st0=0, tau=3, w=0.5,
theta1=1, svis=0.5, sigvis=0.8)
# 2. Predict discrete Choice x Confidence distribution:
preds_Conf <- predictConf(paramDf, "dynWEV", maxrt = 25, simult_conf=TRUE)
head(preds_Conf)
# 3. Compute RT density
preds_RT <- predictRT(paramDf, "dynWEV") #(scaled=FALSE)
# same output with default rt-grid and without scaled density column:
preds_RT <- predictRT(paramDf, "dynWEV", maxrt=5, subdivisions=200,
minrt=paramDf$tau+paramDf$t0, simult_conf = TRUE,
scaled=TRUE, DistConf = preds_Conf)
head(preds_RT)
# produces a warning, if scaled=TRUE and DistConf missing
preds_RT <- predictRT(paramDf, "dynWEV",
scaled=TRUE)
# Example of visualization
library(ggplot2)
preds_Conf$rating <- factor(preds_Conf$rating, labels=c("unsure", "sure"))
preds_RT$rating <- factor(preds_RT$rating, labels=c("unsure", "sure"))
ggplot(preds_Conf, aes(x=interaction(rating, response), y=p))+
geom_bar(stat="identity")+
facet_grid(cols=vars(stimulus), rows=vars(condition), labeller = "label_both")
ggplot(preds_RT, aes(x=rt, color=interaction(rating, response), y=densscaled))+
geom_line(stat="identity")+
facet_grid(cols=vars(stimulus), rows=vars(condition), labeller = "label_both")+
theme(legend.position = "bottom")+ ggtitle("Scaled Densities")
ggplot(aggregate(dens~rt+correct+rating+condition, preds_RT, mean),
aes(x=rt, color=rating, y=dens))+
geom_line(stat="identity")+
facet_grid(cols=vars(condition), rows=vars(correct), labeller = "label_both")+
theme(legend.position = "bottom")+ ggtitle("Non-Scaled Densities")
# Use PDFtoQuantiles to get predicted RT quantiles
head(PDFtoQuantiles(preds_RT, scaled = FALSE))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.