{
  "_id": "6a1ed478b401979e7340e21b",
  "Package": "irelink",
  "Title": "Fast Probabilistic Record Linkage",
  "Version": "0.0.1",
  "Authors@R": "c(\nperson(given = \"Christopher T.\",\nfamily = \"Kenny\",\nrole = c(\"aut\", \"cre\", \"cph\"),\nemail = \"ctkenny@proton.me\",\ncomment = c(ORCID = \"0000-0002-9386-6860\")),\nperson(given = \"Robin\",\nfamily = \"Linacre\",\nrole = \"cph\",\ncomment = \"Lead author of splink, the Python package this is derived from\"),\nperson(given = \"Sam\",\nfamily = \"Lindsay\",\nrole = \"cph\",\ncomment = \"Author of splink\"),\nperson(given = \"Theodore\",\nfamily = \"Manassis\",\nrole = \"cph\",\ncomment = \"Author of splink\"),\nperson(given = \"Tom\",\nfamily = \"Hepworth\",\nrole = \"cph\",\ncomment = \"Author of splink\"),\nperson(given = \"Andy\",\nfamily = \"Bond\",\nrole = \"cph\",\ncomment = \"Author of splink\"),\nperson(given = \"Ross\",\nfamily = \"Kennedy\",\nrole = \"cph\",\ncomment = \"Author of splink\"),\nperson(\"UK Ministry of Justice\",\nrole = \"cph\",\ncomment = \"Copyright holder of splink\"))",
  "Description": "Performs fast, scalable probabilistic record linkage and\ndeduplication using the Fellegi-Sunter model. Records lacking a\nshared unique identifier are compared across configurable\ndimensions using exact, fuzzy, and distance-based comparisons,\nwith model parameters estimated via unsupervised\nExpectation-Maximization. Multiple SQL backends are supported\nthrough 'DBI', enabling execution from laptop-scale ('DuckDB')\nthrough to distributed engines. This package is a translation\nof the Python 'splink' library by Linacre et al. into idiomatic\nR.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "Config/testthat/edition": "3",
  "URL": "http://christophertkenny.com/irelink/,\nhttps://github.com/christopherkenny/irelink",
  "BugReports": "https://github.com/christopherkenny/irelink/issues",
  "VignetteBuilder": "knitr",
  "LazyData": "true",
  "Config/Needs/website": "christopherkenny/ctktemplate",
  "Config/pak/sysreqs": "xz-utils",
  "Repository": "https://christopherkenny.r-universe.dev",
  "Date/Publication": "2026-05-20 18:49:52 UTC",
  "RemoteUrl": "https://github.com/christopherkenny/irelink",
  "RemoteRef": "HEAD",
  "RemoteSha": "51c3d6028221872ca626a454879bd2f15930dad1",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-20 19:32:01 UTC",
    "User": "root"
  },
  "Author": "Christopher T. Kenny [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0002-9386-6860>),\nRobin Linacre [cph] (Lead author of splink, the Python package this is\nderived from),\nSam Lindsay [cph] (Author of splink),\nTheodore Manassis [cph] (Author of splink),\nTom Hepworth [cph] (Author of splink),\nAndy Bond [cph] (Author of splink),\nRoss Kennedy [cph] (Author of splink),\nUK Ministry of Justice [cph] (Copyright holder of splink)",
  "Maintainer": "Christopher T. Kenny <ctkenny@proton.me>",
  "MD5sum": "ce25629a028429c235e98f00d94fff7d",
  "_user": "christopherkenny",
  "_type": "src",
  "_file": "irelink_0.0.1.tar.gz",
  "_fileid": "4ccc5e28b0dd706e5b9c3490c08b6db4eb549dcd450b3d1154d151a13f177090",
  "_filesize": 1954785,
  "_sha256": "4ccc5e28b0dd706e5b9c3490c08b6db4eb549dcd450b3d1154d151a13f177090",
  "_created": "2026-05-20T19:32:01.000Z",
  "_published": "2026-06-02T13:02:48.969Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79076284271,
      "time": 247,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7119668071"
    },
    {
      "job": 79076284215,
      "time": 248,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7119667867"
    },
    {
      "job": 79076284306,
      "time": 174,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7119642271"
    },
    {
      "job": 79076284343,
      "time": 242,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7119665990"
    },
    {
      "job": 79076283970,
      "time": 308,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7119577132"
    },
    {
      "job": 79076283520,
      "time": 130,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7358367309"
    },
    {
      "job": 79076284940,
      "time": 234,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7119664264"
    },
    {
      "job": 79076284349,
      "time": 227,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7119660019"
    },
    {
      "job": 79076284404,
      "time": 256,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7119670534"
    }
  ],
  "_buildurl": "https://github.com/r-universe/christopherkenny/actions/runs/26184999715",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/christopherkenny/irelink",
  "_commit": {
    "id": "51c3d6028221872ca626a454879bd2f15930dad1",
    "author": "Christopher Kenny <ctk44@cornell.edu>",
    "committer": "Christopher Kenny <ctk44@cornell.edu>",
    "message": "Update README.md\n",
    "time": 1779302992
  },
  "_maintainer": {
    "name": "Christopher T. Kenny",
    "email": "ctkenny@proton.me",
    "orcid": "0000-0002-9386-6860"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "DBI",
      "role": "Imports"
    },
    {
      "package": "duckdb",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "glue",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "stringdist",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "tidyselect",
      "role": "Imports"
    },
    {
      "package": "dbplyr",
      "role": "Suggests"
    },
    {
      "package": "dplyr",
      "role": "Suggests"
    },
    {
      "package": "igraph",
      "role": "Suggests"
    },
    {
      "package": "jsonlite",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "nanoparquet",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "RSQLite",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    }
  ],
  "_owner": "christopherkenny",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-13",
      "n": 42
    },
    {
      "week": "2026-14",
      "n": 17
    },
    {
      "week": "2026-15",
      "n": 22
    },
    {
      "week": "2026-16",
      "n": 13
    },
    {
      "week": "2026-17",
      "n": 16
    },
    {
      "week": "2026-18",
      "n": 14
    },
    {
      "week": "2026-19",
      "n": 16
    },
    {
      "week": "2026-20",
      "n": 2
    },
    {
      "week": "2026-21",
      "n": 24
    }
  ],
  "_tags": [],
  "_stars": 1,
  "_contributors": [
    {
      "user": "christopherkenny",
      "count": 166,
      "uuid": 28026893
    }
  ],
  "_userbio": {
    "uuid": 28026893,
    "type": "user",
    "name": "Christopher T. Kenny",
    "description": "Postdoc @princeton-ddss.\r\nRedistricting and rstats.  \r\n\r\nHarvard Government PhD '25.   \r\nCornell '19."
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/irelink"
  },
  "_devurl": "https://github.com/christopherkenny/irelink",
  "_pkgdown": "http://christophertkenny.com/irelink/",
  "_searchresults": 2,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/irelink.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_exports": [
    "block_from_labels",
    "block_on",
    "cl_and",
    "cl_array_intersect",
    "cl_array_min_distance",
    "cl_array_subset",
    "cl_columns_reversed",
    "cl_cosine",
    "cl_custom",
    "cl_damerau_levenshtein",
    "cl_date_diff",
    "cl_dob",
    "cl_else",
    "cl_email",
    "cl_exact",
    "cl_first_last_name",
    "cl_forename_surname",
    "cl_geo_distance",
    "cl_jaccard",
    "cl_jaro",
    "cl_jaro_winkler",
    "cl_levels",
    "cl_levenshtein",
    "cl_literal",
    "cl_name",
    "cl_not",
    "cl_null",
    "cl_numeric_diff",
    "cl_or",
    "cl_pct_diff",
    "cl_postcode",
    "cl_soundex",
    "cl_time_diff",
    "cl_zip_code",
    "days",
    "hours",
    "il_accuracy",
    "il_array_element",
    "il_attach",
    "il_block_on",
    "il_cast_to_string",
    "il_cleanup",
    "il_cleanup_all",
    "il_cluster",
    "il_cluster_confusion_matrix",
    "il_comparator_score",
    "il_comparator_threshold_chart",
    "il_compare",
    "il_compare_records",
    "il_comparison_vectors",
    "il_completeness",
    "il_confusion_matrix",
    "il_constrain_m",
    "il_constraints",
    "il_count_pairs",
    "il_deterministic_link",
    "il_dmetaphone",
    "il_errors",
    "il_estimate_em",
    "il_estimate_m_from_column",
    "il_estimate_m_from_labels",
    "il_estimate_prior",
    "il_estimate_u",
    "il_find_blocking_below",
    "il_find_matches",
    "il_graph_metrics",
    "il_largest_blocks",
    "il_load",
    "il_metaphone",
    "il_model",
    "il_nullif",
    "il_parameters",
    "il_phonetic_chart",
    "il_precision_recall",
    "il_prior_m",
    "il_prior_prevalence",
    "il_priors",
    "il_profile",
    "il_regex_extract",
    "il_register_tf",
    "il_roc",
    "il_save",
    "il_score_missing_edges",
    "il_score_patterns",
    "il_soundex",
    "il_spec",
    "il_string_similarity",
    "il_substr",
    "il_suggest_blocking",
    "il_tf_chart",
    "il_training_history",
    "il_transform",
    "il_try_parse_date",
    "il_try_parse_timestamp",
    "il_unlinkables",
    "il_waterfall",
    "il_weights",
    "is_il_model",
    "is_il_spec",
    "km",
    "labels_from_column",
    "mi",
    "minutes",
    "months",
    "seconds",
    "years"
  ],
  "_datasets": [
    {
      "name": "fake_1000",
      "title": "Splink Fake 1000: Deduplication Benchmark",
      "object": "fake_1000",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "unique_id",
        "first_name",
        "surname",
        "dob",
        "city",
        "email",
        "cluster"
      ],
      "rows": 1000,
      "table": true,
      "tojson": true
    },
    {
      "name": "fake_1000_labels",
      "title": "Splink Fake 1000: Clerical Pairwise Labels",
      "object": "fake_1000_labels",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "unique_id_l",
        "source_dataset_l",
        "unique_id_r",
        "source_dataset_r",
        "clerical_match_score"
      ],
      "rows": 3176,
      "table": true,
      "tojson": true
    },
    {
      "name": "fake_20",
      "title": "Fake 20: Minimal Deduplication Example",
      "object": "fake_20",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "first_name",
        "surname",
        "dob",
        "city",
        "email",
        "cluster"
      ],
      "rows": 20,
      "table": true,
      "tojson": true
    },
    {
      "name": "febrl4a",
      "title": "FEBRL 4a: Record Linkage Original Records",
      "object": "febrl4a",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "rec_id",
        "given_name",
        "surname",
        "street_number",
        "address_1",
        "address_2",
        "suburb",
        "postcode",
        "state",
        "date_of_birth",
        "soc_sec_id"
      ],
      "rows": 5000,
      "table": true,
      "tojson": true
    },
    {
      "name": "febrl4b",
      "title": "FEBRL 4b: Record Linkage Duplicate Records",
      "object": "febrl4b",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "rec_id",
        "given_name",
        "surname",
        "street_number",
        "address_1",
        "address_2",
        "suburb",
        "postcode",
        "state",
        "date_of_birth",
        "soc_sec_id"
      ],
      "rows": 5000,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "autoplot.il_accuracy",
      "title": "Plot Accuracy Metrics Across Thresholds",
      "topics": [
        "autoplot.il_accuracy"
      ]
    },
    {
      "page": "autoplot.il_comparator_score",
      "title": "Plot Batch Comparator Scores",
      "topics": [
        "autoplot.il_comparator_score"
      ]
    },
    {
      "page": "autoplot.il_compared",
      "title": "Quick Plot for Scored Pairs",
      "topics": [
        "autoplot.il_compared"
      ]
    },
    {
      "page": "autoplot.il_comparison_vectors",
      "title": "Plot Comparison Vector Distribution",
      "topics": [
        "autoplot.il_comparison_vectors"
      ]
    },
    {
      "page": "autoplot.il_completeness",
      "title": "Plot Column Completeness",
      "topics": [
        "autoplot.il_completeness"
      ]
    },
    {
      "page": "autoplot.il_count_pairs",
      "title": "Plot Blocking Rule Pair Counts",
      "topics": [
        "autoplot.il_count_pairs"
      ]
    },
    {
      "page": "autoplot.il_model",
      "title": "Quick Match-Weights Plot for a Model",
      "topics": [
        "autoplot.il_model"
      ]
    },
    {
      "page": "autoplot.il_precision_recall",
      "title": "Plot Precision–Recall Curve",
      "topics": [
        "autoplot.il_precision_recall"
      ]
    },
    {
      "page": "autoplot.il_profile",
      "title": "Plot Column Value Profiles",
      "topics": [
        "autoplot.il_profile"
      ]
    },
    {
      "page": "autoplot.il_roc",
      "title": "Plot ROC Curve",
      "topics": [
        "autoplot.il_roc"
      ]
    },
    {
      "page": "autoplot.il_string_similarity",
      "title": "Comparator Score Bar Chart",
      "topics": [
        "autoplot.il_string_similarity"
      ]
    },
    {
      "page": "autoplot.il_training_history",
      "title": "Plot EM Training History",
      "topics": [
        "autoplot.il_training_history"
      ]
    },
    {
      "page": "autoplot.il_unlinkables",
      "title": "Plot Unlinkables Curve",
      "topics": [
        "autoplot.il_unlinkables"
      ]
    },
    {
      "page": "block_from_labels",
      "title": "Derive Blocking Rules from Labeled Pairs",
      "topics": [
        "block_from_labels"
      ]
    },
    {
      "page": "block_on",
      "title": "Create a Training-Time Blocking Rule",
      "topics": [
        "block_on"
      ]
    },
    {
      "page": "cl_and",
      "title": "Combine Comparison Conditions with AND",
      "topics": [
        "cl_and"
      ]
    },
    {
      "page": "cl_array_intersect",
      "title": "Array Intersection Comparison",
      "topics": [
        "cl_array_intersect"
      ]
    },
    {
      "page": "cl_array_min_distance",
      "title": "Pairwise Array Minimum Distance Comparison",
      "topics": [
        "cl_array_min_distance"
      ]
    },
    {
      "page": "cl_array_subset",
      "title": "Array Subset Comparison",
      "topics": [
        "cl_array_subset"
      ]
    },
    {
      "page": "cl_columns_reversed",
      "title": "Swap Detection for Two Columns",
      "topics": [
        "cl_columns_reversed"
      ]
    },
    {
      "page": "cl_cosine",
      "title": "Cosine Similarity Comparison",
      "topics": [
        "cl_cosine"
      ]
    },
    {
      "page": "cl_custom",
      "title": "Custom SQL Comparison",
      "topics": [
        "cl_custom"
      ]
    },
    {
      "page": "cl_damerau_levenshtein",
      "title": "Damerau-Levenshtein Edit-Distance Comparison",
      "topics": [
        "cl_damerau_levenshtein"
      ]
    },
    {
      "page": "cl_date_diff",
      "title": "Date Difference Comparison",
      "topics": [
        "cl_date_diff"
      ]
    },
    {
      "page": "cl_dob",
      "title": "Date of Birth Comparison",
      "topics": [
        "cl_dob"
      ]
    },
    {
      "page": "cl_else",
      "title": "Catch-All Else Level",
      "topics": [
        "cl_else"
      ]
    },
    {
      "page": "cl_email",
      "title": "Email Address Comparison",
      "topics": [
        "cl_email"
      ]
    },
    {
      "page": "cl_exact",
      "title": "Exact Equality Comparison",
      "topics": [
        "cl_exact"
      ]
    },
    {
      "page": "cl_first_last_name",
      "title": "First Name and Last Name Comparison with Swap Detection",
      "topics": [
        "cl_first_last_name"
      ]
    },
    {
      "page": "cl_forename_surname",
      "title": "Forename and Surname Comparison with Swap Detection",
      "topics": [
        "cl_forename_surname"
      ]
    },
    {
      "page": "cl_geo_distance",
      "title": "Geographic Distance Comparison",
      "topics": [
        "cl_geo_distance"
      ]
    },
    {
      "page": "cl_jaccard",
      "title": "Jaccard Set Similarity Comparison",
      "topics": [
        "cl_jaccard"
      ]
    },
    {
      "page": "cl_jaro",
      "title": "Jaro String Similarity Comparison",
      "topics": [
        "cl_jaro"
      ]
    },
    {
      "page": "cl_jaro_winkler",
      "title": "Jaro-Winkler String Similarity Comparison",
      "topics": [
        "cl_jaro_winkler"
      ]
    },
    {
      "page": "cl_levels",
      "title": "Compose Custom Comparison Levels",
      "topics": [
        "cl_levels"
      ]
    },
    {
      "page": "cl_levenshtein",
      "title": "Levenshtein Edit-Distance Comparison",
      "topics": [
        "cl_levenshtein"
      ]
    },
    {
      "page": "cl_literal",
      "title": "Literal Value Comparison",
      "topics": [
        "cl_literal"
      ]
    },
    {
      "page": "cl_name",
      "title": "Personal Name Comparison",
      "topics": [
        "cl_name"
      ]
    },
    {
      "page": "cl_not",
      "title": "Negate a Comparison Condition",
      "topics": [
        "cl_not"
      ]
    },
    {
      "page": "cl_null",
      "title": "Null / Missing Value Level",
      "topics": [
        "cl_null"
      ]
    },
    {
      "page": "cl_numeric_diff",
      "title": "Numeric Absolute Difference Comparison",
      "topics": [
        "cl_numeric_diff"
      ]
    },
    {
      "page": "cl_or",
      "title": "Combine Comparison Conditions with OR",
      "topics": [
        "cl_or"
      ]
    },
    {
      "page": "cl_pct_diff",
      "title": "Numeric Percentage Difference Comparison",
      "topics": [
        "cl_pct_diff"
      ]
    },
    {
      "page": "cl_postcode",
      "title": "Postcode Comparison",
      "topics": [
        "cl_postcode"
      ]
    },
    {
      "page": "cl_soundex",
      "title": "Soundex Phonetic Comparison",
      "topics": [
        "cl_soundex"
      ]
    },
    {
      "page": "cl_time_diff",
      "title": "Time Difference Comparison",
      "topics": [
        "cl_time_diff"
      ]
    },
    {
      "page": "cl_zip_code",
      "title": "ZIP Code Comparison",
      "topics": [
        "cl_zip_code"
      ]
    },
    {
      "page": "days",
      "title": "Create a Duration in Days",
      "topics": [
        "days"
      ]
    },
    {
      "page": "fake_1000",
      "title": "Splink Fake 1000: Deduplication Benchmark",
      "topics": [
        "fake_1000"
      ]
    },
    {
      "page": "fake_1000_labels",
      "title": "Splink Fake 1000: Clerical Pairwise Labels",
      "topics": [
        "fake_1000_labels"
      ]
    },
    {
      "page": "fake_20",
      "title": "Fake 20: Minimal Deduplication Example",
      "topics": [
        "fake_20"
      ]
    },
    {
      "page": "febrl4a",
      "title": "FEBRL 4a: Record Linkage Original Records",
      "topics": [
        "febrl4a"
      ]
    },
    {
      "page": "febrl4b",
      "title": "FEBRL 4b: Record Linkage Duplicate Records",
      "topics": [
        "febrl4b"
      ]
    },
    {
      "page": "hours",
      "title": "Create a Duration in Hours",
      "topics": [
        "hours"
      ]
    },
    {
      "page": "il_accuracy",
      "title": "Accuracy Metrics Across Thresholds",
      "topics": [
        "il_accuracy"
      ]
    },
    {
      "page": "il_array_element",
      "title": "Array Element Column Transform",
      "topics": [
        "il_array_element"
      ]
    },
    {
      "page": "il_attach",
      "title": "Attach a Saved Model to Fresh Data",
      "topics": [
        "il_attach"
      ]
    },
    {
      "page": "il_block_on",
      "title": "Add a Prediction Blocking Rule",
      "topics": [
        "il_block_on"
      ]
    },
    {
      "page": "il_cast_to_string",
      "title": "Cast to String Column Transform",
      "topics": [
        "il_cast_to_string"
      ]
    },
    {
      "page": "il_cleanup",
      "title": "Remove Model-Owned Temporary Tables from Database",
      "topics": [
        "il_cleanup"
      ]
    },
    {
      "page": "il_cleanup_all",
      "title": "Remove All irelink Temporary Tables from a Database",
      "topics": [
        "il_cleanup_all"
      ]
    },
    {
      "page": "il_cluster",
      "title": "Cluster Scored Pairs into Entities",
      "topics": [
        "il_cluster"
      ]
    },
    {
      "page": "il_cluster_confusion_matrix",
      "title": "Cluster-Level Confusion Matrix for Deduplication",
      "topics": [
        "il_cluster_confusion_matrix"
      ]
    },
    {
      "page": "il_comparator_score",
      "title": "Batch String Similarity Scores",
      "topics": [
        "il_comparator_score"
      ]
    },
    {
      "page": "il_comparator_threshold_chart",
      "title": "Comparator Score Threshold Chart",
      "topics": [
        "il_comparator_threshold_chart"
      ]
    },
    {
      "page": "il_compare",
      "title": "Add a Comparison Layer to a Specification",
      "topics": [
        "il_compare"
      ]
    },
    {
      "page": "il_compare_records",
      "title": "Compare Two Individual Records",
      "topics": [
        "il_compare_records"
      ]
    },
    {
      "page": "il_comparison_vectors",
      "title": "Comparison Vector Distribution",
      "topics": [
        "il_comparison_vectors"
      ]
    },
    {
      "page": "il_completeness",
      "title": "Column Completeness Across Datasets",
      "topics": [
        "il_completeness"
      ]
    },
    {
      "page": "il_confusion_matrix",
      "title": "Confusion Matrix at a Threshold",
      "topics": [
        "il_confusion_matrix"
      ]
    },
    {
      "page": "il_constrain_m",
      "title": "Add a Fixed Matched-Class Constraint",
      "topics": [
        "il_constrain_m"
      ]
    },
    {
      "page": "il_constraints",
      "title": "Inspect Model Constraints",
      "topics": [
        "il_constraints"
      ]
    },
    {
      "page": "il_count_pairs",
      "title": "Count Candidate Pairs Under Blocking Rules",
      "topics": [
        "il_count_pairs"
      ]
    },
    {
      "page": "il_deterministic_link",
      "title": "Deterministic Record Linkage",
      "topics": [
        "il_deterministic_link"
      ]
    },
    {
      "page": "il_errors",
      "title": "Identify Prediction Errors",
      "topics": [
        "il_errors"
      ]
    },
    {
      "page": "il_estimate_em",
      "title": "Train Parameters via Expectation-Maximization",
      "topics": [
        "il_estimate_em"
      ]
    },
    {
      "page": "il_estimate_m_from_column",
      "title": "Estimate Match (m) Parameters from a Label Column",
      "topics": [
        "il_estimate_m_from_column"
      ]
    },
    {
      "page": "il_estimate_m_from_labels",
      "title": "Estimate Match (m) Parameters from Labeled Data",
      "topics": [
        "il_estimate_m_from_labels"
      ]
    },
    {
      "page": "il_estimate_prior",
      "title": "Estimate the Prior Match Probability",
      "topics": [
        "il_estimate_prior"
      ]
    },
    {
      "page": "il_estimate_u",
      "title": "Estimate Non-Match (u) Parameters",
      "topics": [
        "il_estimate_u"
      ]
    },
    {
      "page": "il_find_blocking_below",
      "title": "Find Blocking Rules Below a Pair-Count Threshold",
      "topics": [
        "il_find_blocking_below"
      ]
    },
    {
      "page": "il_find_matches",
      "title": "Find Matches for New Records",
      "topics": [
        "il_find_matches"
      ]
    },
    {
      "page": "il_graph_metrics",
      "title": "Compute Graph Metrics for Clusters",
      "topics": [
        "il_graph_metrics"
      ]
    },
    {
      "page": "il_largest_blocks",
      "title": "Identify the Largest Blocking Bins",
      "topics": [
        "il_largest_blocks"
      ]
    },
    {
      "page": "il_load",
      "title": "Load a Saved Model",
      "topics": [
        "il_load"
      ]
    },
    {
      "page": "il_model",
      "title": "Create a Linkage Model",
      "topics": [
        "il_model"
      ]
    },
    {
      "page": "il_nullif",
      "title": "Replace a Value with NA Column Transform",
      "topics": [
        "il_nullif"
      ]
    },
    {
      "page": "il_parameters",
      "title": "Extract Model Parameters",
      "topics": [
        "il_parameters"
      ]
    },
    {
      "page": "il_phonetic_chart",
      "title": "Phonetic Match Chart",
      "topics": [
        "il_phonetic_chart"
      ]
    },
    {
      "page": "il_precision_recall",
      "title": "Compute Precision-Recall Curve Data",
      "topics": [
        "il_precision_recall"
      ]
    },
    {
      "page": "il_prior_m",
      "title": "Add a Matched-Class Comparison Prior",
      "topics": [
        "il_prior_m"
      ]
    },
    {
      "page": "il_prior_prevalence",
      "title": "Add a Prevalence Prior",
      "topics": [
        "il_prior_prevalence"
      ]
    },
    {
      "page": "il_priors",
      "title": "Inspect Model Priors",
      "topics": [
        "il_priors"
      ]
    },
    {
      "page": "il_profile",
      "title": "Profile Column Value Distributions",
      "topics": [
        "il_profile"
      ]
    },
    {
      "page": "il_regex_extract",
      "title": "Regex Extraction Column Transform",
      "topics": [
        "il_regex_extract"
      ]
    },
    {
      "page": "il_register_tf",
      "title": "Register Pre-Computed Term Frequency Tables",
      "topics": [
        "il_register_tf"
      ]
    },
    {
      "page": "il_roc",
      "title": "Compute ROC Curve Data",
      "topics": [
        "il_roc"
      ]
    },
    {
      "page": "il_save",
      "title": "Save a Model to Disk",
      "topics": [
        "il_save"
      ]
    },
    {
      "page": "il_score_missing_edges",
      "title": "Score Missing Edges Within Clusters",
      "topics": [
        "il_score_missing_edges"
      ]
    },
    {
      "page": "il_score_patterns",
      "title": "Score Comparison Patterns",
      "topics": [
        "il_score_patterns"
      ]
    },
    {
      "page": "il_spec",
      "title": "Create an Empty Linkage Specification",
      "topics": [
        "il_spec"
      ]
    },
    {
      "page": "il_string_similarity",
      "title": "Compute String Similarity Scores",
      "topics": [
        "il_string_similarity"
      ]
    },
    {
      "page": "il_substr",
      "title": "Extract a Substring Column Transform",
      "topics": [
        "il_substr"
      ]
    },
    {
      "page": "il_suggest_blocking",
      "title": "Suggest Blocking Rules",
      "topics": [
        "il_suggest_blocking"
      ]
    },
    {
      "page": "il_tf_chart",
      "title": "Term Frequency Adjustment Chart",
      "topics": [
        "il_tf_chart"
      ]
    },
    {
      "page": "il_training_history",
      "title": "Extract EM Training History",
      "topics": [
        "il_training_history"
      ]
    },
    {
      "page": "il_transform",
      "title": "Compose Multiple Transforms into a Chain",
      "topics": [
        "il_transform"
      ]
    },
    {
      "page": "il_try_parse_date",
      "title": "Try-Parse Date Column Transform",
      "topics": [
        "il_try_parse_date"
      ]
    },
    {
      "page": "il_try_parse_timestamp",
      "title": "Try-Parse Timestamp Column Transform",
      "topics": [
        "il_try_parse_timestamp"
      ]
    },
    {
      "page": "il_unlinkables",
      "title": "Compute Unlinkable Records",
      "topics": [
        "il_unlinkables"
      ]
    },
    {
      "page": "il_waterfall",
      "title": "Extract Waterfall Data for a Single Pair",
      "topics": [
        "il_waterfall"
      ]
    },
    {
      "page": "il_weights",
      "title": "Extract Match Weights by Comparison Level",
      "topics": [
        "il_weights"
      ]
    },
    {
      "page": "is_il_model",
      "title": "Test if an Object is an irelink Model",
      "topics": [
        "is_il_model"
      ]
    },
    {
      "page": "is_il_spec",
      "title": "Test if an Object is an irelink Specification",
      "topics": [
        "is_il_spec"
      ]
    },
    {
      "page": "km",
      "title": "Create a Distance in Kilometres",
      "topics": [
        "km"
      ]
    },
    {
      "page": "labels_from_column",
      "title": "Derive Pairwise Labels from a Ground-Truth Column",
      "topics": [
        "labels_from_column"
      ]
    },
    {
      "page": "mi",
      "title": "Create a Distance in Miles",
      "topics": [
        "mi"
      ]
    },
    {
      "page": "minutes",
      "title": "Create a Duration in Minutes",
      "topics": [
        "minutes"
      ]
    },
    {
      "page": "months",
      "title": "Create a Duration in Months",
      "topics": [
        "months"
      ]
    },
    {
      "page": "phonetic",
      "title": "Phonetic Transform Functions",
      "topics": [
        "il_dmetaphone",
        "il_metaphone",
        "il_soundex",
        "phonetic"
      ]
    },
    {
      "page": "predict.il_model",
      "title": "Score Record Pairs from a Trained Model",
      "topics": [
        "predict.il_model"
      ]
    },
    {
      "page": "print.il_model",
      "title": "Print an irelink Model",
      "topics": [
        "print.il_model"
      ]
    },
    {
      "page": "print.il_spec",
      "title": "Print an irelink Specification",
      "topics": [
        "print.il_spec"
      ]
    },
    {
      "page": "seconds",
      "title": "Create a Duration in Seconds",
      "topics": [
        "seconds"
      ]
    },
    {
      "page": "summary.il_model",
      "title": "Summarize an irelink Model",
      "topics": [
        "summary.il_model"
      ]
    },
    {
      "page": "years",
      "title": "Create a Duration in Years",
      "topics": [
        "years"
      ]
    }
  ],
  "_pkglogo": "https://github.com/christopherkenny/irelink/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/christopherkenny/irelink/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "cpp11",
    "DBI",
    "duckdb",
    "farver",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "labeling",
    "lifecycle",
    "magrittr",
    "pillar",
    "pkgconfig",
    "R6",
    "RColorBrewer",
    "rlang",
    "S7",
    "scales",
    "stringdist",
    "tibble",
    "tidyselect",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "advanced.Rmd",
      "filename": "advanced.html",
      "title": "Advanced Workflows",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Setup",
        "Training diagnostics",
        "Pair inspection",
        "Lazy prediction for large data",
        "Chunked u estimation and SQL profiling",
        "Cluster diagnostics",
        "Phonetic blocking",
        "Column transforms",
        "Incremental matching",
        "Cleanup"
      ],
      "created": "2026-04-10 04:10:33",
      "modified": "2026-05-20 18:14:53",
      "commits": 9
    },
    {
      "source": "deduplicate-50k.Rmd",
      "filename": "deduplicate-50k.html",
      "title": "Deduplicating 50k Synthetic Records",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Load the data",
        "Profile the data",
        "Choose blocking rules",
        "Define the specification",
        "Train the model",
        "Inspect the trained model",
        "Predict",
        "Cluster",
        "Evaluate against ground truth",
        "Error inspection",
        "Cleanup"
      ],
      "created": "2026-04-10 22:47:33",
      "modified": "2026-05-20 18:14:53",
      "commits": 9
    },
    {
      "source": "deduplication.Rmd",
      "filename": "deduplication.html",
      "title": "Deduplication with Evaluation",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Setup",
        "Explore the data",
        "Choose blocking rules",
        "Define the specification",
        "Train the model",
        "Inspect the trained model",
        "Save and reuse the model",
        "Predict and cluster",
        "Evaluate against ground truth",
        "Accuracy metrics",
        "ROC curve",
        "Precision-recall curve",
        "Error inspection",
        "Unlinkables",
        "Cleanup"
      ],
      "created": "2026-03-28 02:46:50",
      "modified": "2026-05-20 18:14:53",
      "commits": 8
    },
    {
      "source": "irelink.Rmd",
      "filename": "irelink.html",
      "title": "Getting Started",
      "engine": "knitr::rmarkdown",
      "headings": [
        "What is record linkage?",
        "A typical workflow",
        "Step 1: Define a specification",
        "Step 2: Build a model",
        "Step 3: Train parameters",
        "Step 4: Predict",
        "Step 5: Cluster",
        "Comparison levels",
        "Evaluation",
        "Cleaning up"
      ],
      "created": "2026-03-27 01:21:11",
      "modified": "2026-05-20 18:14:53",
      "commits": 12
    },
    {
      "source": "transactions.Rmd",
      "filename": "transactions.html",
      "title": "Linking Banking Transactions",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Load the data",
        "Profile the data",
        "Choose blocking rules",
        "Define the specification",
        "Train the model",
        "Inspect the trained model",
        "Predict",
        "Evaluate against ground truth",
        "Error inspection",
        "Cleanup"
      ],
      "created": "2026-04-10 22:47:33",
      "modified": "2026-05-20 18:10:50",
      "commits": 7
    },
    {
      "source": "record-linkage.Rmd",
      "filename": "record-linkage.html",
      "title": "Record Linkage Across Datasets",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Setup",
        "Load the data",
        "Explore data quality",
        "Define the specification",
        "Train the model",
        "Inspect the model",
        "Predict and cluster",
        "Evaluate against ground truth",
        "Accuracy metrics",
        "ROC and Precision-recall",
        "Cleanup"
      ],
      "created": "2026-03-28 02:46:50",
      "modified": "2026-05-20 18:14:53",
      "commits": 8
    },
    {
      "source": "from_fastLink.Rmd",
      "filename": "from_fastLink.html",
      "title": "Translating from fastLink",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Design differences",
        "Core workflow",
        "Comparison functions",
        "Key parameters",
        "Example: side-by-side deduplication",
        "Blocking",
        "Model inspection",
        "Evaluation"
      ],
      "created": "2026-05-20 17:54:40",
      "modified": "2026-05-20 18:24:46",
      "commits": 4
    },
    {
      "source": "from_splink.Rmd",
      "filename": "from_splink.html",
      "title": "Translating from Splink",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Design differences",
        "Core workflow",
        "Comparison levels",
        "Domain-specific comparisons",
        "Model inspection",
        "Evaluation",
        "Data profiling",
        "Persistence",
        "Blocking rules",
        "Example: side-by-side deduplication",
        "Example: finding matches against new records"
      ],
      "created": "2026-03-27 01:21:11",
      "modified": "2026-05-20 18:24:46",
      "commits": 17
    }
  ],
  "_score": 4.556302500767288,
  "_indexed": true,
  "_nocasepkg": "irelink",
  "_universes": [
    "christopherkenny"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.0.1",
      "date": "2026-05-20T19:35:10.000Z",
      "distro": "noble",
      "commit": "51c3d6028221872ca626a454879bd2f15930dad1",
      "fileid": "f84eba9200835d4da4ee0d9fc86ddf471c3ac11bd105fdab50745f3567d083c9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/christopherkenny/actions/runs/26184999715"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.0.1",
      "date": "2026-05-20T19:35:09.000Z",
      "distro": "noble",
      "commit": "51c3d6028221872ca626a454879bd2f15930dad1",
      "fileid": "a7cd51c98ad7997b57aac41f95a2f2b47257698e2d732011c641d203fb582b63",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/christopherkenny/actions/runs/26184999715"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.0.1",
      "date": "2026-05-20T19:34:36.000Z",
      "commit": "51c3d6028221872ca626a454879bd2f15930dad1",
      "fileid": "f6e4d1ca603f51cc53669e5671aa38f3ecfc3b1c27553dcb9e869134d43edd1c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/christopherkenny/actions/runs/26184999715"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.0.1",
      "date": "2026-05-20T19:35:00.000Z",
      "commit": "51c3d6028221872ca626a454879bd2f15930dad1",
      "fileid": "a56c83ef0536062df613f9f97fb7ffe282d3b2268de1ed33f445227ef1f3cf0a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/christopherkenny/actions/runs/26184999715"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.0.1",
      "date": "2026-05-20T19:34:23.000Z",
      "commit": "51c3d6028221872ca626a454879bd2f15930dad1",
      "fileid": "30f635dbe7ae84e4332c5274d6c13361251cf1b3efae9f04df92f14657b730a2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/christopherkenny/actions/runs/26184999715"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.0.1",
      "date": "2026-05-20T19:34:13.000Z",
      "commit": "51c3d6028221872ca626a454879bd2f15930dad1",
      "fileid": "9914fc7d861c55b300eb0396cc87a052813b4794d1f458d17b65cde70d42a405",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/christopherkenny/actions/runs/26184999715"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.0.1",
      "date": "2026-05-20T19:34:53.000Z",
      "commit": "51c3d6028221872ca626a454879bd2f15930dad1",
      "fileid": "94f0a5fd767a9758f846cf9981b1e7aabf1429076de5ba12b3b9729f620c9e8d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/christopherkenny/actions/runs/26184999715"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.0.1",
      "date": "2026-06-02T13:01:00.000Z",
      "commit": "51c3d6028221872ca626a454879bd2f15930dad1",
      "fileid": "e1ac1d3e13c14541f82720df5ecd199a19019081646036a34d8467041e13ad2d",
      "status": "success",
      "buildurl": "https://github.com/r-universe/christopherkenny/actions/runs/26184999715"
    }
  ]
}