ABACUS: Apps Based Activities for Communicating and Understanding Statistics


Binomial Distribution

Binomial Distribution

Normal Distribution

Normal Distribution

Sampling Distribution

Sampling Distribution

Hypothesis testing: One Sample Z Test

One Sample Z-test

Hypothesis Testing: One Sample, Student’s t-Test

One Sample t-test

Properties of Standard Normal & t Distributions

Normal and t Distributions

Hypothesis Testing: Two Samples, independent (unpaired) Student’s t-Test

Two Samples t-test

Hypothesis Testing: One-way Analysis of Variance

One-way ANOVA

Statistical Power & Sample Size

Statistical Power & Sample Size

Frequentist and Bayesian Inferences

Statistical Power & Sample Size





Main Features

  • Narrative of statistical principles and theories in a simple, user-friendly and interactive interface

  • Extensive use of simulation to capture statistical theories when the TRUTH is known

  • Graphical representation of statistical concepts intertwined with the statistical outputs

  • Captures frequentist view of the inferential framework

A Quick Start Guide to ABACUS

There are TWO options to explore ABACUS.

Option 1: Replicable simulation given a seed value

  • Change the input values in the left panel

  • Click the Update button

  • Explore the outcomes in different tabs

If you are using ABACUS for the first time, consider the default input values and just click the Update button. Explore the outcomes in different tabs.

Option 2: Non-replicable instant simulation

  • Select the option: Check the box to update instantly

  • Change the input values by editing the input box or moving the points in the slider bar

  • The app will react to these changes instantly

  • Explore the outcomes in different tabs

Input Values

Different apps may need different types of inputs and display different outputs, but the general framework remains the same.

The options to provide input values are on the left panel of the apps. All inputs are set at appropriate default values, but one can change the input values if needed.

The required input values will depend on the specific app. These may include:

  • Simulation Features
  • Population Parameters
  • Sample Characteristics
  • Distribution Function

To use the app at first instance, accept the default INPUT values and click the Update button.

The app will produce the outcomes in different tabs. Explore the outcomes to understand the apps in the first instance.

To alter the input values, provide the inputs for the Population Parameters (for example, and ) in the text box and alter the other input values by moving the slider bar within the given range.

Depending on the Simulation Feature option, the outputs in different tabs will change with altered inputs.

To fine-tune the INPUT values in the slider to the required value, you may select and drag the point nearer the desired value and then press left or right arrow keys to fine-tune.

Simulation Feature: Option 1

Replicable simulation given a seed value

When you press the Update button the first time, it will draw a random sample based on the input values.

The random sample will be drawn given the seed value included in the text box for seed value (default is given as \(12345\)).

For the next step, you may wish to alter the inputs again OR keep the inputs unaltered and press the Update button again.

This will conduct a second random sampling conditional on the given input values.

For example, reload the app for Normal distribution. Keep all the input values at its default values including the seed value as \(12345\).

Click the Update button THREE times.

Note the Sample Mean and SD displayed in the plot on the right at each click (see the app).

Three successive values displayed should be as follows:

  • On the first click of Update: \(\bar{x}=20.07, s=4.55\)

  • On the second click of Update: \(\bar{x}=18.13, s=3.88\)

  • 0n the third click of Update: \(\bar{x}=19.43, s=4.09\)

Since we generated the sample from a pre-specified seed value (here 12345, but you can change it to any value), these outcomes are replicable.

This means if you reload the app and do it again, you will get the identical three values of \(\bar{x}\) and \(s\) of the sample in successive three clicks.

In other words, if you and your friend run the app together with the identical seed value and other input values, both will get identical estimates.

Simulation Features: Option 2

Non-replicable instant simulation

If you wish to explore many scenarios and do not necessarily wish to replicate your outputs, then this option is useful.

Select Check the box to update instantly.

The important difference here is that you cannot obtain multiple outcomes for the same input values as in Option 1.

You have to change the input values (at least a minor change) to trigger the app to sample data again.

In other words, the app in this option only ‘reacts’ when you change the input values.

Also, note that the Update button will not respond in this option and the random sampling will not be conducted using the seed value (as in Option 1).

In Option 2, the seed value is instantly set based on the current time and process id, therefore, outputs are not replicable.





R Shiny

ABACUS apps were developed using R package Shiny (version 1.3.2).

For suggestions, improvement or using these apps in a Basic Statistics course, please email:


ABACUS is also available on the Comprehensive R Archive Network (CRAN).

Please download it from the CRAN package repository

Please note that ABACUS on CRAN may not include all the modules as some modules are still on testing phase.

Privacy Policy

Please see the University of Aberdeen policy statements on Privacy and Cookies here.