- Deliver a requirements comparison, saved workflow and interpreted results table.
Detailed notes on each software, typical use-cases, short code examples and limitations.
SPSS
Graphical interface suitable for descriptive statistics and basic inferential tests. Example: running t-test and linear regression using menus, and using Syntax for reproducibility.
R / RStudio
Open-source environment with comprehensive packages (tidyverse, lme4, lavaan). Small example:
# R example
library(tidyverse)
df <- read.csv('data.csv')
summary(df)
Python (Pandas, Statsmodels, scikit-learn)
Suitable for data processing, machine learning and statistical analysis. Short example:
# Python example
import pandas as pd
df = pd.read_csv('data.csv')
df.describe()
Stata
Strong in econometrics, panel data and time-series analysis.
MATLAB / Simulink
Useful for numerical computation, simulations and signal processing.
AMOS / Lisrel / lavaan
Tools and packages used for structural equation modeling (SEM).
NVivo
Qualitative analysis environment for coding texts and thematic analysis.
Choose tools around the question
Define outcomes, data structure and model assumptions before selecting software. Cleaning, missing-data assessment, sensitivity analysis, effect sizes and confidence intervals matter alongside significance tests. Observational associations alone do not establish causation.
- Data dictionary and executable cleaning scripts
- Record software/package versions and random seeds
- Report model diagnostics, effect sizes and uncertainty
- Separate training and test data for predictive models
A practical software comparison
| Tool | Common use | Delivery consideration |
|---|---|---|
| SPSS | Surveys and graphical statistical workflows | Preserve syntax and interpreted output. |
| R | Specialist statistics and visualization | Record packages and environment. |
| Python | Data processing and machine learning | Document pipelines and train/test separation. |
| Stata | Econometrics and panel data | Retain do-files and sample definitions. |
| MATLAB | Numerical work and simulation | Explain model assumptions and toolboxes. |
| NVivo | Qualitative data and coding | Supply a codebook and interpretation trail. |
From tests to scholarly reasoning
A p-value is not an effect size or practical importance. A non-significant result does not prove no effect. Explain uncertainty and design limits alongside estimates. Running many tests and reporting only favorable results undermines credibility; distinguish planned and exploratory analyses.
Worked case and implementation decisions
The following is a fictional teaching case. Do not use its numbers or wording as actual study findings.
Choose software using a small trial file and actual requirements rather than popularity. Suppose continuous scores were collected across classes: identify the observation and cluster units before fitting anything. A naive regression may produce unsuitable standard errors when dependence is ignored. Implement a defensible method in a tool the team can explain, saving inputs, commands, versions and outputs. An independently calculated descriptive table can expose import errors. Package capability alone establishes neither analyst competence nor result validity.
| Stage | Teaching example | Verification question |
|---|---|---|
| Need | Continuous scores across classes | Are outcome and dependence defined? |
| Choice | A suitable method, not just an available menu | Can the team explain it? |
| Input | Units, missing codes and row counts | Does it match the dictionary? |
| Replay | Syntax, do-file or script and version | Can a colleague run it without hidden clicks? |
| Report | Estimate, SE, interval and diagnostics | Is interpretation design-appropriate? |
Exercise output: Deliver a requirements comparison, saved workflow and interpreted results table.
Sources and further reading
Official sources for verification and further reading

