model
Character string with the name of the model ("igt_orl").
- allIndPars
"data.frame"
containing the summarized parameter
+
allIndPars
"data.frame"
containing the summarized parameter
values (as specified by "indPars"
) for each subject.
parVals
A "list"
where each element contains posterior samples
over different model parameters.
@@ -198,11 +200,11 @@ Value
Details
This section describes some of the function arguments in greater detail.
-data should be assigned a character value specifying the full path and name of the file, including the file extension
-(e.g. ".txt"), that contains the behavioral data of all subjects of interest for the current analysis.
-The file should be a text (.txt) file whose rows represent trial-by-trial observations and columns
-represent variables. For the Iowa Gambling Task, there should be four columns of data with the labels
-"subjID", "deck", "gain", and "loss". It is not necessary for the columns to be in this particular order,
+
data should be assigned a character value specifying the full path and name of the file, including the file extension
+(e.g. ".txt"), that contains the behavioral data of all subjects of interest for the current analysis.
+The file should be a text (.txt) file whose rows represent trial-by-trial observations and columns
+represent variables. For the Iowa Gambling Task, there should be four columns of data with the labels
+"subjID", "deck", "gain", and "loss". It is not necessary for the columns to be in this particular order,
however it is necessary that they be labelled correctly and contain the information below:
"subjID"
A unique identifier for each subject within data-set to be analyzed.
"deck"
A nominal integer representing which deck was chosen within the given trial (e.g. A, B, C, or D == 1, 2, 3, or 4 in the IGT).
@@ -211,28 +213,28 @@ Details
*Note: The data.txt file may contain other columns of data (e.g. "Reaction_Time", "trial_number", etc.), but only the data with the column
names listed above will be used for analysis/modeling. As long as the columns above are present and labelled correctly,
there is no need to remove other miscellaneous data columns.
-nwarmup is a numerical value that specifies how many MCMC samples should not be stored upon the
-beginning of each chain. For those familiar with Bayesian methods, this value is equivalent to a burn-in sample.
-Due to the nature of MCMC sampling, initial values (where the sampling chain begins) can have a heavy influence
-on the generated posterior distributions. The nwarmup
argument can be set to a high number in order to curb the
+
nwarmup is a numerical value that specifies how many MCMC samples should not be stored upon the
+beginning of each chain. For those familiar with Bayesian methods, this value is equivalent to a burn-in sample.
+Due to the nature of MCMC sampling, initial values (where the sampling chain begins) can have a heavy influence
+on the generated posterior distributions. The nwarmup
argument can be set to a high number in order to curb the
effects that initial values have on the resulting posteriors.
nchain is a numerical value that specifies how many chains (i.e. independent sampling sequences) should be
-used to draw samples from the posterior distribution. Since the posteriors are generated from a sampling
+used to draw samples from the posterior distribution. Since the posteriors are generated from a sampling
process, it is good practice to run multiple chains to ensure that a representative posterior is attained. When
sampling is completed, the multiple chains may be checked for convergence with the plot(myModel, type = "trace")
command. The chains should resemble a "furry caterpillar".
-nthin is a numerical value that specifies the "skipping" behavior of the MCMC samples being chosen
-to generate the posterior distributions. By default, nthin
is equal to 1, hence every sample is used to
+
nthin is a numerical value that specifies the "skipping" behavior of the MCMC samples being chosen
+to generate the posterior distributions. By default, nthin
is equal to 1, hence every sample is used to
generate the posterior.
-Contol Parameters: adapt_delta, stepsize, and max_treedepth are advanced options that give the user more control
+
Contol Parameters: adapt_delta, stepsize, and max_treedepth are advanced options that give the user more control
over Stan's MCMC sampler. The Stan creators recommend that only advanced users change the default values, as alterations
-can profoundly change the sampler's behavior. Refer to Hoffman & Gelman (2014, Journal of Machine Learning Research) for
-more information on the functioning of the sampler control parameters. One can also refer to section 58.2 of the
+can profoundly change the sampler's behavior. Refer to Hoffman & Gelman (2014, Journal of Machine Learning Research) for
+more information on the functioning of the sampler control parameters. One can also refer to section 58.2 of the
Stan User's Manual for a less technical description of these arguments.
References
- Hoffman, M. D., & Gelman, A. (2014). The No-U-turn sampler: adaptively setting path lengths in Hamiltonian Monte Carlo. The
+
Hoffman, M. D., & Gelman, A. (2014). The No-U-turn sampler: adaptively setting path lengths in Hamiltonian Monte Carlo. The
Journal of Machine Learning Research, 15(1), 1593-1623.
Haines, N., Vassileva, J., Ahn, W.-Y. (in press). The Outcome-Representation Learning model: a novel reinforcement learning model of
the Iowa Gambling Task. Cognitive Science.
@@ -256,7 +258,7 @@ Examp
# Plot the posterior distributions of the hyper-parameters (distributions should be unimodal)
plot(output)
-# Show the WAIC and LOOIC model fit estimates
+# Show the WAIC and LOOIC model fit estimates
printFit(output)
# }
diff --git a/docs/reference/igt_pvl_decay.html b/docs/reference/igt_pvl_decay.html
index 3bc60b2a..1d218348 100644
--- a/docs/reference/igt_pvl_decay.html
+++ b/docs/reference/igt_pvl_decay.html
@@ -63,7 +63,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
@@ -107,11 +107,11 @@ Iowa Gambling Task
- igt_pvl_decay(data = "choose", niter = 3000, nwarmup = 1000, nchain = 4,
- ncore = 1, nthin = 1, inits = "random", indPars = "mean",
- payscale = 100, saveDir = NULL, modelRegressor = FALSE, vb = FALSE,
- inc_postpred = FALSE, adapt_delta = 0.95, stepsize = 1,
- max_treedepth = 10)
+ igt_pvl_decay(data = "choose", niter = 3000, nwarmup = 1000,
+ nchain = 4, ncore = 1, nthin = 1, inits = "random",
+ indPars = "mean", payscale = 100, saveDir = NULL,
+ modelRegressor = FALSE, vb = FALSE, inc_postpred = FALSE,
+ adapt_delta = 0.95, stepsize = 1, max_treedepth = 10)
Arguments
diff --git a/docs/reference/igt_pvl_delta.html b/docs/reference/igt_pvl_delta.html
index 279141ae..35353427 100644
--- a/docs/reference/igt_pvl_delta.html
+++ b/docs/reference/igt_pvl_delta.html
@@ -63,7 +63,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
@@ -107,11 +107,11 @@ Iowa Gambling Task (Ahn et al., 2008)
- igt_pvl_delta(data = "choose", niter = 3000, nwarmup = 1000, nchain = 4,
- ncore = 1, nthin = 1, inits = "random", indPars = "mean",
- payscale = 100, saveDir = NULL, modelRegressor = FALSE, vb = FALSE,
- inc_postpred = FALSE, adapt_delta = 0.95, stepsize = 1,
- max_treedepth = 10)
+ igt_pvl_delta(data = "choose", niter = 3000, nwarmup = 1000,
+ nchain = 4, ncore = 1, nthin = 1, inits = "random",
+ indPars = "mean", payscale = 100, saveDir = NULL,
+ modelRegressor = FALSE, vb = FALSE, inc_postpred = FALSE,
+ adapt_delta = 0.95, stepsize = 1, max_treedepth = 10)
Arguments
diff --git a/docs/reference/igt_vpp.html b/docs/reference/igt_vpp.html
index 9df21f9c..fa1d3daf 100644
--- a/docs/reference/igt_vpp.html
+++ b/docs/reference/igt_vpp.html
@@ -63,7 +63,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
@@ -109,9 +109,9 @@ Iowa Gambling Task
igt_vpp(data = "choose", niter = 3000, nwarmup = 1000, nchain = 4,
ncore = 1, nthin = 1, inits = "random", indPars = "mean",
- payscale = 100, saveDir = NULL, modelRegressor = FALSE, vb = FALSE,
- inc_postpred = FALSE, adapt_delta = 0.95, stepsize = 1,
- max_treedepth = 10)
+ payscale = 100, saveDir = NULL, modelRegressor = FALSE,
+ vb = FALSE, inc_postpred = FALSE, adapt_delta = 0.95,
+ stepsize = 1, max_treedepth = 10)
Arguments
diff --git a/docs/reference/index.html b/docs/reference/index.html
index b090dd46..ac92971b 100644
--- a/docs/reference/index.html
+++ b/docs/reference/index.html
@@ -58,7 +58,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
diff --git a/docs/reference/multiplot.html b/docs/reference/multiplot.html
index 01ceef07..87187551 100644
--- a/docs/reference/multiplot.html
+++ b/docs/reference/multiplot.html
@@ -62,7 +62,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
diff --git a/docs/reference/peer_ocu.html b/docs/reference/peer_ocu.html
index 759b6d4a..4e005362 100644
--- a/docs/reference/peer_ocu.html
+++ b/docs/reference/peer_ocu.html
@@ -64,7 +64,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
diff --git a/docs/reference/plot.hBayesDM.html b/docs/reference/plot.hBayesDM.html
index 903ab09b..90e9b3b1 100644
--- a/docs/reference/plot.hBayesDM.html
+++ b/docs/reference/plot.hBayesDM.html
@@ -61,7 +61,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
diff --git a/docs/reference/plotDist.html b/docs/reference/plotDist.html
index 705085a3..a78278a0 100644
--- a/docs/reference/plotDist.html
+++ b/docs/reference/plotDist.html
@@ -61,7 +61,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
@@ -103,8 +103,9 @@ Plots the histogram of MCMC samples.
- plotDist(sample = NULL, Title = NULL, xLab = "Value", yLab = "Density",
- xLim = NULL, fontSize = NULL, binSize = NULL, ...)
+ plotDist(sample = NULL, Title = NULL, xLab = "Value",
+ yLab = "Density", xLim = NULL, fontSize = NULL, binSize = NULL,
+ ...)
Arguments
diff --git a/docs/reference/plotHDI.html b/docs/reference/plotHDI.html
index 5ec758ac..7835edb2 100644
--- a/docs/reference/plotHDI.html
+++ b/docs/reference/plotHDI.html
@@ -61,7 +61,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
@@ -103,8 +103,9 @@ Plots highest density interval (HDI) from (MCMC) samples and prints HDI in t
- plotHDI(sample = NULL, credMass = 0.95, Title = NULL, xLab = "Value",
- yLab = "Density", fontSize = NULL, binSize = 30, ...)
+ plotHDI(sample = NULL, credMass = 0.95, Title = NULL,
+ xLab = "Value", yLab = "Density", fontSize = NULL, binSize = 30,
+ ...)
Arguments
diff --git a/docs/reference/plotInd.html b/docs/reference/plotInd.html
index 6c3701c5..8c00b62d 100644
--- a/docs/reference/plotInd.html
+++ b/docs/reference/plotInd.html
@@ -61,7 +61,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
diff --git a/docs/reference/printFit.html b/docs/reference/printFit.html
index 4116add9..229bb8d3 100644
--- a/docs/reference/printFit.html
+++ b/docs/reference/printFit.html
@@ -61,7 +61,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
diff --git a/docs/reference/prl_ewa.html b/docs/reference/prl_ewa.html
index 5368f73c..094f2c64 100644
--- a/docs/reference/prl_ewa.html
+++ b/docs/reference/prl_ewa.html
@@ -64,7 +64,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
diff --git a/docs/reference/prl_fictitious.html b/docs/reference/prl_fictitious.html
index 1e55ec86..56e0d5d8 100644
--- a/docs/reference/prl_fictitious.html
+++ b/docs/reference/prl_fictitious.html
@@ -64,7 +64,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
@@ -111,9 +111,9 @@ Probabilistic Reversal Learning Task
prl_fictitious(data = "choice", niter = 3000, nwarmup = 1000,
nchain = 1, ncore = 1, nthin = 1, inits = "random",
- indPars = "mean", saveDir = NULL, modelRegressor = FALSE, vb = FALSE,
- inc_postpred = FALSE, adapt_delta = 0.95, stepsize = 1,
- max_treedepth = 10)
+ indPars = "mean", saveDir = NULL, modelRegressor = FALSE,
+ vb = FALSE, inc_postpred = FALSE, adapt_delta = 0.95,
+ stepsize = 1, max_treedepth = 10)
Arguments
diff --git a/docs/reference/prl_fictitious_multipleB.html b/docs/reference/prl_fictitious_multipleB.html
index 6fcc5d03..bd439f60 100644
--- a/docs/reference/prl_fictitious_multipleB.html
+++ b/docs/reference/prl_fictitious_multipleB.html
@@ -64,7 +64,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
@@ -109,11 +109,11 @@ Probabilistic Reversal Learning Task (Glascher et al, 2008), multiple blocks
- prl_fictitious_multipleB(data = "choice", niter = 3000, nwarmup = 1000,
- nchain = 1, ncore = 1, nthin = 1, inits = "random",
- indPars = "mean", saveDir = NULL, modelRegressor = FALSE, vb = FALSE,
- inc_postpred = FALSE, adapt_delta = 0.95, stepsize = 1,
- max_treedepth = 10)
+ prl_fictitious_multipleB(data = "choice", niter = 3000,
+ nwarmup = 1000, nchain = 1, ncore = 1, nthin = 1,
+ inits = "random", indPars = "mean", saveDir = NULL,
+ modelRegressor = FALSE, vb = FALSE, inc_postpred = FALSE,
+ adapt_delta = 0.95, stepsize = 1, max_treedepth = 10)
Arguments
diff --git a/docs/reference/prl_fictitious_rp.html b/docs/reference/prl_fictitious_rp.html
index c31887f5..825b0626 100644
--- a/docs/reference/prl_fictitious_rp.html
+++ b/docs/reference/prl_fictitious_rp.html
@@ -64,7 +64,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
@@ -111,9 +111,9 @@ Probabilistic Reversal Learning Task
prl_fictitious_rp(data = "choice", niter = 3000, nwarmup = 1000,
nchain = 1, ncore = 1, nthin = 1, inits = "random",
- indPars = "mean", saveDir = NULL, modelRegressor = FALSE, vb = FALSE,
- inc_postpred = FALSE, adapt_delta = 0.95, stepsize = 1,
- max_treedepth = 10)
+ indPars = "mean", saveDir = NULL, modelRegressor = FALSE,
+ vb = FALSE, inc_postpred = FALSE, adapt_delta = 0.95,
+ stepsize = 1, max_treedepth = 10)
Arguments
diff --git a/docs/reference/prl_fictitious_rp_woa.html b/docs/reference/prl_fictitious_rp_woa.html
index 3af403e4..a69400cb 100644
--- a/docs/reference/prl_fictitious_rp_woa.html
+++ b/docs/reference/prl_fictitious_rp_woa.html
@@ -64,7 +64,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
@@ -111,9 +111,9 @@ Probabilistic Reversal Learning Task
prl_fictitious_rp_woa(data = "choice", niter = 3000, nwarmup = 1000,
nchain = 1, ncore = 1, nthin = 1, inits = "random",
- indPars = "mean", saveDir = NULL, modelRegressor = FALSE, vb = FALSE,
- inc_postpred = FALSE, adapt_delta = 0.95, stepsize = 1,
- max_treedepth = 10)
+ indPars = "mean", saveDir = NULL, modelRegressor = FALSE,
+ vb = FALSE, inc_postpred = FALSE, adapt_delta = 0.95,
+ stepsize = 1, max_treedepth = 10)
Arguments
diff --git a/docs/reference/prl_fictitious_woa.html b/docs/reference/prl_fictitious_woa.html
index 5c7e371a..6b90a49d 100644
--- a/docs/reference/prl_fictitious_woa.html
+++ b/docs/reference/prl_fictitious_woa.html
@@ -64,7 +64,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
@@ -111,9 +111,9 @@ Probabilistic Reversal Learning Task
prl_fictitious_woa(data = "choice", niter = 3000, nwarmup = 1000,
nchain = 1, ncore = 1, nthin = 1, inits = "random",
- indPars = "mean", saveDir = NULL, modelRegressor = FALSE, vb = FALSE,
- inc_postpred = FALSE, adapt_delta = 0.95, stepsize = 1,
- max_treedepth = 10)
+ indPars = "mean", saveDir = NULL, modelRegressor = FALSE,
+ vb = FALSE, inc_postpred = FALSE, adapt_delta = 0.95,
+ stepsize = 1, max_treedepth = 10)
Arguments
diff --git a/docs/reference/prl_rp.html b/docs/reference/prl_rp.html
index 784cd3ce..6bb95cbe 100644
--- a/docs/reference/prl_rp.html
+++ b/docs/reference/prl_rp.html
@@ -64,7 +64,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
diff --git a/docs/reference/prl_rp_multipleB.html b/docs/reference/prl_rp_multipleB.html
index 58709d56..d93af80d 100644
--- a/docs/reference/prl_rp_multipleB.html
+++ b/docs/reference/prl_rp_multipleB.html
@@ -64,7 +64,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
@@ -111,9 +111,9 @@ Probabilistic Reversal Learning Task, multiple blocks per subject
prl_rp_multipleB(data = "choice", niter = 3000, nwarmup = 1000,
nchain = 1, ncore = 1, nthin = 1, inits = "random",
- indPars = "mean", saveDir = NULL, modelRegressor = FALSE, vb = FALSE,
- inc_postpred = FALSE, adapt_delta = 0.95, stepsize = 1,
- max_treedepth = 10)
+ indPars = "mean", saveDir = NULL, modelRegressor = FALSE,
+ vb = FALSE, inc_postpred = FALSE, adapt_delta = 0.95,
+ stepsize = 1, max_treedepth = 10)
Arguments
diff --git a/docs/reference/pst_gainloss_Q.html b/docs/reference/pst_gainloss_Q.html
index d25fa3fd..3fb178e6 100644
--- a/docs/reference/pst_gainloss_Q.html
+++ b/docs/reference/pst_gainloss_Q.html
@@ -68,7 +68,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
@@ -119,9 +119,9 @@ Probabilistic Selection Task
pst_gainloss_Q(data = "choose", niter = 2000, nwarmup = 1000,
nchain = 1, ncore = 1, nthin = 1, inits = "random",
- indPars = "mean", saveDir = NULL, modelRegressor = FALSE, vb = FALSE,
- inc_postpred = FALSE, adapt_delta = 0.95, stepsize = 1,
- max_treedepth = 10)
+ indPars = "mean", saveDir = NULL, modelRegressor = FALSE,
+ vb = FALSE, inc_postpred = FALSE, adapt_delta = 0.95,
+ stepsize = 1, max_treedepth = 10)
Arguments
diff --git a/docs/reference/ra_noLA.html b/docs/reference/ra_noLA.html
index 6e3f9d35..faf7af6d 100644
--- a/docs/reference/ra_noLA.html
+++ b/docs/reference/ra_noLA.html
@@ -63,7 +63,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
diff --git a/docs/reference/ra_noRA.html b/docs/reference/ra_noRA.html
index 0d5cb4bc..86798867 100644
--- a/docs/reference/ra_noRA.html
+++ b/docs/reference/ra_noRA.html
@@ -63,7 +63,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
diff --git a/docs/reference/ra_prospect.html b/docs/reference/ra_prospect.html
index faea3182..6f0f454d 100644
--- a/docs/reference/ra_prospect.html
+++ b/docs/reference/ra_prospect.html
@@ -63,7 +63,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
@@ -107,11 +107,11 @@ Risk Aversion Task
- ra_prospect(data = "choose", niter = 4000, nwarmup = 1000, nchain = 4,
- ncore = 1, nthin = 1, inits = "random", indPars = "mean",
- saveDir = NULL, modelRegressor = FALSE, vb = FALSE,
- inc_postpred = FALSE, adapt_delta = 0.95, stepsize = 1,
- max_treedepth = 10)
+ ra_prospect(data = "choose", niter = 4000, nwarmup = 1000,
+ nchain = 4, ncore = 1, nthin = 1, inits = "random",
+ indPars = "mean", saveDir = NULL, modelRegressor = FALSE,
+ vb = FALSE, inc_postpred = FALSE, adapt_delta = 0.95,
+ stepsize = 1, max_treedepth = 10)
Arguments
diff --git a/docs/reference/rdt_happiness.html b/docs/reference/rdt_happiness.html
index e6be2d94..28454ed9 100644
--- a/docs/reference/rdt_happiness.html
+++ b/docs/reference/rdt_happiness.html
@@ -64,7 +64,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
@@ -109,11 +109,11 @@ Risky Decision Task
- rdt_happiness(data = "choose", niter = 4000, nwarmup = 1000, nchain = 4,
- ncore = 1, nthin = 1, inits = "random", indPars = "mean",
- saveDir = NULL, modelRegressor = FALSE, vb = FALSE,
- inc_postpred = FALSE, adapt_delta = 0.95, stepsize = 1,
- max_treedepth = 10)
+ rdt_happiness(data = "choose", niter = 4000, nwarmup = 1000,
+ nchain = 4, ncore = 1, nthin = 1, inits = "random",
+ indPars = "mean", saveDir = NULL, modelRegressor = FALSE,
+ vb = FALSE, inc_postpred = FALSE, adapt_delta = 0.95,
+ stepsize = 1, max_treedepth = 10)
Arguments
diff --git a/docs/reference/rhat.html b/docs/reference/rhat.html
index 01e1b78c..2eda6b38 100644
--- a/docs/reference/rhat.html
+++ b/docs/reference/rhat.html
@@ -63,7 +63,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
diff --git a/docs/reference/ts_par4.html b/docs/reference/ts_par4.html
index 6bf94a50..302db5c6 100644
--- a/docs/reference/ts_par4.html
+++ b/docs/reference/ts_par4.html
@@ -64,7 +64,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
diff --git a/docs/reference/ts_par6.html b/docs/reference/ts_par6.html
index 4eebebfd..ab97d234 100644
--- a/docs/reference/ts_par6.html
+++ b/docs/reference/ts_par6.html
@@ -64,7 +64,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
diff --git a/docs/reference/ts_par7.html b/docs/reference/ts_par7.html
index 73be5c7b..825c237b 100644
--- a/docs/reference/ts_par7.html
+++ b/docs/reference/ts_par7.html
@@ -64,7 +64,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
diff --git a/docs/reference/ug_bayes.html b/docs/reference/ug_bayes.html
index 41bf83ed..b40ec496 100644
--- a/docs/reference/ug_bayes.html
+++ b/docs/reference/ug_bayes.html
@@ -63,7 +63,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
diff --git a/docs/reference/ug_delta.html b/docs/reference/ug_delta.html
index dee9c609..e568a448 100644
--- a/docs/reference/ug_delta.html
+++ b/docs/reference/ug_delta.html
@@ -63,7 +63,7 @@
hBayesDM
- 0.6.0
+ 0.6.3
diff --git a/docs/reference/wcs_sql.html b/docs/reference/wcs_sql.html
index 47cfe85a..5e1f238b 100644
--- a/docs/reference/wcs_sql.html
+++ b/docs/reference/wcs_sql.html
@@ -64,7 +64,7 @@
hBayesDM
- 0.6.0
+ 0.6.3