A package to compute a cumulative history for time-series of perceptual dominance in bistable displays.
Estimates cumulative history, an estimate of accumulating adaptation/prediction error for the dominant percept, for time-series for continuously viewed bistable perceptual rivalry displays. Computes cumulative history via a homogeneous first order differential process. I.e., it assumes exponential growth/decay of the history as a function of time and perceptually dominant state. Supports Gamma, log normal, and normal distribution families.
If you use the toolbox in your work, please cite Pastukhov, A., (2022). bistablehistory: an R package for history-dependent analysis of perceptual time series. Journal of Open Source Software, 7(70), 3901, https://doi.org/10.21105/joss.03901
For current stable version use
install.packages("bistablehistory")
The master branch is the development version. To install it please use
library("devtools")
install_github("alexander-pastukhov/bistablehistory", dependencies = TRUE)
This package uses Stan, a "state-of-the-art platform for statistical modeling and high-performance statistical computation". Therefore, it depends on the package rstantools, which in turn depends on the rstan package, which uses the V8 JavaScript library, through the V8 R package.
Therefore, you will need to install the V8 JavaScript library on your system, and it is recommended that you also install the V8 R package beforehand. For detailed instructions, please see https://github.com/jeroen/v8.
You will also need the R package
curl, which depends on
libcurl-*
in various operating systems. Please see the documentation
at https://cran.r-project.org/package=curl.
The main function is fit_cumhist
that takes a data frame with
time-series as the first argument. Minimally, you need to specify state
--- string with the column name that encodes perceptually dominant state
--- and either duration
(column name with duration of individual
dominance phases) or onset
(column name with onset times of individual
dominance phases). Thus, for a simplest case of a single subject and
single run/block measurement with all defaults (gamma distribution,
fitted cumulative history time constant but fixed mixed state value and
history mixing proportion) the call would be
library(bistablehistory)
data(br_singleblock)
gamma_fit <- fit_cumhist(br_singleblock,
state = "State",
duration = "Duration")
or, equivalently
library(bistablehistory)
data(br_singleblock)
gamma_fit <- fit_cumhist(br_singleblock,
state = "State",
onset = "Time")
Now you can look at the fitted value for history time constant via
history_tau(gamma_fit)
and main effect of history for both parameters of gamma distribution
coef(gamma_fit)
For further details please see vignettes on package usage (Usage examples and Cumulative history) and on an example of writing Stan code directly (Writing Stan code).
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.