data_fingerprint: Fingerprint a dataset

View source: R/040_DataFingerprint.R

data_fingerprintR Documentation

Fingerprint a dataset

Description

Computes a DataFingerprint: a content hash of x plus the structural facts (dimensions, column names) that make a mismatch between two runs diagnosable. Used to record which data a run actually used, so undocumented drift between experiments is visible.

Usage

data_fingerprint(x, method = "object", algorithm = "sha256", source = NULL)

Arguments

x

tabular data: The dataset. Required for every method, so that dimensions and column names are always recorded, even when hashing file bytes.

method

Character {"file", "object", "table"}: What to hash. "object" hashes the serialized R object (cheap, R-only). "file" hashes the raw bytes of source. "table" hashes the canonical Arrow IPC representation (cross-language; requires the arrow package), and is the only method under which one table held as a data.frame, a data.table, a tibble or a matrix gives one hash.

algorithm

Character {"sha256", "sha512", "sha384", "sha224", "sha3-256", "sha3-512", "blake2b", "blake2s", "sha1", "md5"}: Hash algorithm. "blake2b" and "blake2s" are the fast options; "sha1" and "md5" are for interoperability with systems that record those.

source

Optional Character: Path x was read from. Required when method is "file".

Value

DataFingerprint object.

Author(s)

EDG

Examples

fp <- data_fingerprint(iris)
fp
# A logically identical table in a different R container hashes differently
# under "object", which is what `@data_structure` records. FALSE:
data_fingerprint(iris)@hash ==
  data_fingerprint(data.table::as.data.table(iris))@hash

rtemis documentation built on Oct. 20, 2026, 1:06 a.m.