MyNixOS website logo
Description

Synthesise and Correlate Likert Scale and Rating-Scale Data Based on Summary Statistics.

Generate and correlate synthetic Likert and rating-scale questionnaire responses with predefined means, standard deviations, Cronbach's Alpha, Factor Loading table, coefficients, and other summary statistics. It can be used to simulate Likert data, construct multi-item scales, generate correlation matrices, and create example survey datasets for teaching statistics, psychometrics, and methodological research. Worked examples and documentation are available in the package articles, accessible via the package website, <https://winzarh.github.io/LikertMakeR/>.

Project Status: Active – The project has reached a stable, usable state and is being actively developed. metacran downloads total metacran downloads last month R-CMD-check pkgdown GitHub stars

LikertMakeR LikertMakeR

LikertMakeR synthesises Likert-scale and related bounded rating-scale data with predefined means, standard deviations, correlations, Cronbach’s alpha, and factor-loading-based structure for simulation studies, teaching, and methodological research..

Version 2.1.1 (April 2026)

Purpose

  1. Reverse-engineer published results when only summary statistics are reported (for re-analysis, visualisation, or teaching).
  2. Teaching & demos: generate data with known properties without collecting real data.
  3. Methods work / simulation: explore how reliability, items, bounds, and sample size interact.

For a full introduction and worked examples, see the package website: https://winzarh.github.io/LikertMakeR/


Installation

From CRAN:


  install.packages("LikertMakeR")

The latest development version is available from the author's GitHub repository.

 

 library(devtools)
 
 install_github("WinzarH/LikertMakeR")
 

Quick Start

  1. Make a target correlation matrix
library(LikertMakeR)

R <- matrix(
  c(
    1.00, 0.60, 0.45, 0.40,
    0.60, 1.00, 0.75, 0.35,
    0.45, 0.75, 1.00, 0.50,
    0.40, 0.35, 0.50, 1.00
  ),
  nrow = 4, ncol = 4, byrow = TRUE
)
  1. Generate synthetic rating-scale data with predefined moments
dat <- makeScales(
  n = 64,
  means = c(2.75, 3.00, 3.25, 3.50),
  sds = c(1.25, 1.50, 1.30, 1.25),
  lowerbound = rep(1, 4),
  upperbound = rep(5, 4),
  items = c(5, 5, 4, 4),
  cormatrix = R
)

head(dat)
cor(dat) |> round(2)

Key functions

  • lfast(): generate bounded/discrete data with target mean & SD

  • lcor(): rearrange columns to approximate a target correlation matrix

  • makeCorrAlpha(): generate an item correlation matrix with target Cronbach’s alpha

  • makeScales(): wrapper for lfast() + lcor() to generate a dataframe of correlated columns

  • makeCorrLoadings(): build an item correlation matrix from factor loadings and factor correlations

  • makeItemsScale(): generate items from a summated scale with target alpha

  • makePaired() / makeRepeated(): reconstruct data from paired t-test / repeated-measures summaries

  • makeScalesRegression(): generate data from summary of multiple-regression analysis

  • correlateScales(): combine multiple item sets so summated scales match a target correlation matrix

  • Helpers: alpha(), eigenvalues(), reliability()

Rating scale properties

A Likert scale is the mean, or sum, of several ordinal rating scales. They are bipolar (usually “agree-disagree”) responses to propositions that are determined to be moderately-to-highly correlated among each other, and capturing various facets of a theoretical construct.

NOTE

A single 1-5 rating scale is NOT a true Likert scale - it may be a Likert-scale item.


Summated rating scales are not continuous or unbounded. For example, a 5-point Likert scale that is constructed with, say, five items (questions) will have a summed range of between 5 (all rated ‘1’) and 25 (all rated ‘5’) with all integers in between, and the mean range will be ‘1’ to ‘5’ with intervals of 1/5=0.20. A 7-point Likert scale constructed from eight items will have a summed range between 8 (all rated ‘1’) and 56 (all rated ‘7’) with all integers in between, and the mean range will be ‘1’ to ‘7’ with intervals of 1/8=0.125.

Learn more

Package website (recommended): https://winzarh.github.io/LikertMakeR/

Vignettes cover:

  • generating scales from summary statistics,

  • correlation matrices from alpha or loadings,

  • repeated-measures and paired designs,

  • reliability estimation and diagnostics,

  • validation studies demonstrating function accuracy.


To cite LikertMakeR

APA:

 Winzar, H. (2026). LikertMakeR (version 2.0.0) [R package]. 
 The Comprehensive R Archive Network (CRAN),
<https://CRAN.R-project.org/package=LikertMakeR>
Metadata

Version

2.3.0

License

Unknown

Platforms (80)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arc-linux
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • sh4-linux
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows