Stat-JR is a general purpose statistical package with wide-ranging and flexible functionality. Its features include:
- Stat-JR uses a modular system of templates, each defining a certain function (or suite of functions). Users choose a template to use in conjunction with their dataset of interest. Some templates fit models, others plot charts, some produce data summaries, and so on.
Ability to communicate with other statistical software
- Stat-JR can interoperate with many commonly-used statistical software packages, for example R, SPSS, Stata, SAS, MLwiN and WinBUGS. This means that a common interface can be used to fit the same model in several packages. Again the policy of transparency means that not only will the system fit the model in an external package but it will return all the package-specific inputs and outputs to provide users with a route into learning the functionality of an unfamiliar package. This interoperability is extremely flexible, and templates can be written to utilise specific features that are unique to a package.
A choice of interfaces
- TREE (Template Reading and Execution Environment) is a menu-driven point-and-click interface: a flexible environment in which you pair-up templates with datasets, and then specify inputs to perform desired functions (see also the screenshots below).
- DEEP (Documents with Embedded Execution and Provenance) is a dynamic eBook-reading environment. It can fully-exploit Stat-JR's statistical functionality, but the eBook environment also allows a lot of contextual information to be provided by the eBook author (see also the screenshots below).
- runStatJR is a command line interface (still under development).
- The code constituting the modular templates Stat-JR uses can be accessed and edited, allowing expert users to add functionality by writing their own templates (in Python).
- Expert users can write their own dynamic eBooks for Stat-JR's DEEP interface.
In-house MCMC engine
- Stat-JR has its own in-built MCMC estimation engine that takes a model description and produces a mathematical representation of the corresponding algorithm before producing code to fit the model, running the code and returning the results. This complete transparency removes the disconnect between the methods and the application.
The figure below gives an overview of how the system works:
Screenshots of the TREE interface
Choosing a template
Stat-JR uses a modular system of templates, each defining a certain function: some fit models, others plot charts, some produce data summaries, and so on:
Once the user has chosen a template (and dataset), inputs specific to those choices are then entered:
Having specified all the inputs the template requests, Stat-JR produces the files it needs to complete the desired execution, together with useful descriptive resources such as equations (LaTeX):
Template execution finished
Once the desired execution has run, the final output files are returned; here we see some model results (other outputs would be accessible via the drop-down list just above the output pane):
Screenshots of the DEEP interface
The content of the eBook can be dictated by choices the user has made as he/she is reading through; here the user has chosen the fixed effects for a model which, for comparison, is fitted both with, and without, random effects for school (at level 2):
Here the variance partition coefficient is returned based on the user's model choices; these will be calculated anew every time the user changes the model specification:
Interoperability with other statistical software
Both TREE and DEEP can interoperate with other statistical software. Here is an example in which a plot reflecting the user's specification has been produced using R, with both the plot, and the R script used to derive it, returned as content in the eBook: