The Liking Rating Database in R: subjective liking ratings from published decision-making studies, as tibbles.
install.packages("likingInitiative")
# development version
# devtools::install_github("liking-initiative/likingInitiative-r")
Requires R 4.1 or newer. Data is downloaded from Zenodo on first use; no account or token is needed. Downloads are cached in the session's temporary directory, so nothing is written elsewhere unless you ask for it.
library(likingInitiative)
list_datasets() # 61 datasets
list_studies() # 40 studies
list_items() # 2,339 items
d <- get_dataset("leeholyoak2021")
d # scale, size, phases, release version
d$data # tibble
cite(d)
bibtex(d)
get_dataset(c("leeholyoak2021", "leehare2023exp2")) # named list
k <- get_item("kitkat") # 1,626 ratings across 25 datasets
aggregate(normalized_rating ~ dataset_code, k$data, mean)
db <- load_database()
nrow(db$ratings) # 777116
Cross-study comparisons must use normalized_rating. Studies use
different response scales (0–4, 1–100, 1–870, willingness-to-pay in dollars),
so raw rating values are not comparable. normalized_rating is
(rating - scale_min) / (scale_max - scale_min) and always lies in 0–1.
Subject ids are unique only within a dataset. Subject "12" in two
datasets is two different people — key on dataset_code and subject_id
together.
Six datasets repeat the whole rating phase (chenhol1, chenhol2,
crosswebb, hamesmcc, leehare2023exp2, leeholyoak2021), so subject_id
and item_id together are not unique for them:
d <- get_dataset("leeholyoak2021") # phases 1, 2, 3
aggregate(normalized_rating ~ timepoint, d$data, mean)
get_dataset("leeholyoak2021", timepoint = 2) # one phase
get_item() uses each dataset's first phase only, so a repeated-phase study
does not carry extra weight in a cross-study comparison.
release_info() # version, counts, migrations
get_dataset("leeholyoak2021", version = "1.6.2") # pin for reproducibility
cache_info(); clear_cache()
use_persistent_cache() # keep downloads between sessions, in the per-user
# cache directory; add to .Rprofile to make it stick
Set options(likingInitiative.release_dir = ) or LIKING_INITIATIVE_RELEASE_DIR to a
directory built by scripts/build_release.py to work against an unreleased
build.
Please cite the paper describing the database and the studies whose data you use.
cite() with no argument returns the database citation, cite(d) a study's, and
citation("likingInitiative") the same entry in R's own format.
Fernandez, K., Goyal, S., & Krajbich, I. (2026). A database of subjective evaluation ratings for decision-making research. Retrieved from https://osf.io/preprints/psyarxiv/af2nr_v1
To cite the data themselves, cite the Zenodo record:
Fernandez, K., Goyal, S., & Krajbich, I. (2026). The Liking Initiative: a database of subjective evaluation ratings for decision-making research [Data set]. Zenodo. https://doi.org/10.5281/zenodo.22216442
That is the concept DOI, which always resolves to the newest version. To name
the exact bytes an analysis ran on, cite the version DOI that Zenodo lists for
the version release_info() reports.
MIT. The underlying data remain subject to the terms of the original publications.