{
  "_id": "6a169d52acfb0bcc41d7edf6",
  "Package": "hmatch",
  "Type": "Package",
  "Title": "Tools for Cleaning and Matching Hierarchically-Structured Data",
  "Version": "0.1.0.9000",
  "Authors@R": "c(\nperson(given = \"Patrick\",\nfamily = \"Barks\",\nrole = c(\"aut\", \"cre\"),\nemail = \"patrick.barks@epicentre.msf.org\",\ncomment = c(ORCID = \"0000-0002-5947-8151\")),\nperson(given = \"Paul\",\nfamily = \"Campbell\",\nrole = c(\"ctb\"),\nemail = \"paul.campbell@epicentre.msf.org\",\ncomment = c(ORCID = \"0000-0003-1018-6606\"))\n)",
  "Description": "Tools for matching raw, potentially messy hierarchical\ndata (e.g. province, county, township) against a reference\ndataset.",
  "License": "MIT + file LICENSE",
  "URL": "https://github.com/epicentre-msf/hmatch",
  "BugReports": "https://github.com/epicentre-msf/hmatch/issues",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.2.3",
  "Config/pak/sysreqs": "libicu-dev",
  "Repository": "https://epicentre-msf.r-universe.dev",
  "Date/Publication": "2023-11-10 17:38:17 UTC",
  "RemoteUrl": "https://github.com/epicentre-msf/hmatch",
  "RemoteRef": "HEAD",
  "RemoteSha": "1a57862a84e18711163fdc11b100ad1e60f2f491",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-27 07:14:09 UTC",
    "User": "root"
  },
  "Author": "Patrick Barks [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-5947-8151>),\nPaul Campbell [ctb] (ORCID: <https://orcid.org/0000-0003-1018-6606>)",
  "Maintainer": "Patrick Barks <patrick.barks@epicentre.msf.org>",
  "MD5sum": "6790637ac26d2daf1d2982ea0c37a246",
  "_user": "epicentre-msf",
  "_type": "src",
  "_file": "hmatch_0.1.0.9000.tar.gz",
  "_fileid": "d989846fe8bc272d16e2698ff497b48da4926343200d8b85a657e6965a6f6fa0",
  "_filesize": 221599,
  "_sha256": "d989846fe8bc272d16e2698ff497b48da4926343200d8b85a657e6965a6f6fa0",
  "_created": "2026-05-27T07:14:09.000Z",
  "_published": "2026-05-27T07:29:22.488Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78026413143,
      "time": 130,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "7234180640"
    },
    {
      "job": 78026413201,
      "time": 137,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7234182848"
    },
    {
      "job": 78026413164,
      "time": 106,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "7234371058"
    },
    {
      "job": 78026413153,
      "time": 96,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7234406019"
    },
    {
      "job": 78026016848,
      "time": 168,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7234143337"
    },
    {
      "job": 78026413151,
      "time": 109,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7234173869"
    },
    {
      "job": 78026413185,
      "time": 101,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "7234172137"
    },
    {
      "job": 78026413154,
      "time": 78,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "7234165746"
    },
    {
      "job": 78026413207,
      "time": 85,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7234167833"
    }
  ],
  "_buildurl": "https://github.com/r-universe/epicentre-msf/actions/runs/26496523886",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/epicentre-msf/hmatch",
  "_commit": {
    "id": "1a57862a84e18711163fdc11b100ad1e60f2f491",
    "author": "patrickbarks <patrick.barks@gmail.com>",
    "committer": "patrickbarks <patrick.barks@gmail.com>",
    "message": "update gh workflows\n",
    "time": 1699637897
  },
  "_maintainer": {
    "name": "Patrick Barks",
    "email": "patrick.barks@epicentre.msf.org",
    "login": "patrickbarks",
    "description": "",
    "uuid": 12620847,
    "orcid": "0000-0002-5947-8151"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 2.10",
      "role": "Depends"
    },
    {
      "package": "stringi",
      "role": "Imports"
    },
    {
      "package": "stringdist",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 2.1.0",
      "role": "Suggests"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "sf",
      "role": "Suggests"
    }
  ],
  "_owner": "epicentre-msf",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [],
  "_tags": [],
  "_stars": 11,
  "_contributors": [
    {
      "user": "patrickbarks",
      "count": 87,
      "uuid": 12620847
    },
    {
      "user": "paulc91",
      "count": 1,
      "uuid": 25231784
    },
    {
      "user": "ntncmch",
      "count": 1,
      "uuid": 1412115
    }
  ],
  "_userbio": {
    "uuid": 19820047,
    "type": "organization",
    "name": "Epicentre MSF"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/hmatch"
  },
  "_devurl": "https://github.com/epicentre-msf/hmatch",
  "_searchresults": 27,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/hmatch.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_exports": [
    "count_tokens",
    "hcodes_int",
    "hcodes_str",
    "hmatch",
    "hmatch_composite",
    "hmatch_manual",
    "hmatch_parents",
    "hmatch_permute",
    "hmatch_settle",
    "hmatch_split",
    "hmatch_tokens",
    "max_levels",
    "ref_expand",
    "separate_hcode",
    "string_std"
  ],
  "_datasets": [
    {
      "name": "ne_raw",
      "title": "Raw dataset",
      "object": "ne_raw",
      "class": [
        "data.frame"
      ],
      "fields": [
        "id",
        "adm0",
        "adm1",
        "adm2"
      ],
      "rows": 15,
      "table": true,
      "tojson": true
    },
    {
      "name": "ne_ref",
      "title": "Reference dataset",
      "object": "ne_ref",
      "class": [
        "data.frame"
      ],
      "fields": [
        "level",
        "adm0",
        "adm1",
        "adm2",
        "hcode"
      ],
      "rows": 31,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "count_tokens",
      "title": "Find frequently occurring tokens within a hierarchical column",
      "topics": [
        "count_tokens"
      ]
    },
    {
      "page": "dictionary_recoding",
      "title": "Dictionary-based recoding of values during hierarchical matching",
      "topics": [
        "dictionary_recoding"
      ]
    },
    {
      "page": "hcodes",
      "title": "Create codes to identify each unique combination of hierarchical levels in a reference dataset",
      "topics": [
        "hcodes",
        "hcodes_int",
        "hcodes_str"
      ]
    },
    {
      "page": "hmatch",
      "title": "Match sets of hierarchical variables between a raw and reference dataset",
      "topics": [
        "hmatch"
      ]
    },
    {
      "page": "hmatch_composite",
      "title": "Implement a variety of hierarchical matching strategies in sequence",
      "topics": [
        "hmatch_composite"
      ]
    },
    {
      "page": "hmatch_manual",
      "title": "Manual hierarchical matching",
      "topics": [
        "hmatch_manual"
      ]
    },
    {
      "page": "hmatch_parents",
      "title": "Hierarchical matching of parents based on sets of common offspring",
      "topics": [
        "hmatch_parents"
      ]
    },
    {
      "page": "hmatch_permute",
      "title": "Hierarchical matching with sequential column permutation to allow for values entered at the wrong hierarchical level",
      "topics": [
        "hmatch_permute"
      ]
    },
    {
      "page": "hmatch_settle",
      "title": "Sequential hierarchical matching at each hierarchical level, settling for the highest resolution match that is possible for each row",
      "topics": [
        "hmatch_settle"
      ]
    },
    {
      "page": "hmatch_split",
      "title": "Hierarchical matching, separately at each hierarchical level",
      "topics": [
        "hmatch_split"
      ]
    },
    {
      "page": "hmatch_tokens",
      "title": "Hierarchical matching with tokenization of multi-term values",
      "topics": [
        "hmatch_tokens"
      ]
    },
    {
      "page": "join_types",
      "title": "Types of hierarchical joins",
      "topics": [
        "join_types"
      ]
    },
    {
      "page": "max_levels",
      "title": "Maximum hierarchical levels",
      "topics": [
        "max_levels"
      ]
    },
    {
      "page": "ne_raw",
      "title": "Raw dataset",
      "topics": [
        "ne_raw"
      ]
    },
    {
      "page": "ne_ref",
      "title": "Reference dataset",
      "topics": [
        "ne_ref"
      ]
    },
    {
      "page": "ref_expand",
      "title": "Expand a reference data.frame containing N hierarchical columns to an N-level reference data.frame",
      "topics": [
        "ref_expand"
      ]
    },
    {
      "page": "separate_hcode",
      "title": "Separate a hierarchical code reflecting multiple levels into its constituent parts, with one column for each level",
      "topics": [
        "separate_hcode"
      ]
    },
    {
      "page": "specifying_columns",
      "title": "Specifying hierarchical columns with arguments 'pattern' or 'by'",
      "topics": [
        "specifying_columns"
      ]
    },
    {
      "page": "string_standardization",
      "title": "String Standardization",
      "topics": [
        "string_standardization"
      ]
    },
    {
      "page": "string_std",
      "title": "String standardization prior to matching",
      "topics": [
        "string_std"
      ]
    }
  ],
  "_readme": "https://github.com/epicentre-msf/hmatch/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "cpp11",
    "dplyr",
    "generics",
    "glue",
    "lifecycle",
    "magrittr",
    "pillar",
    "pkgconfig",
    "purrr",
    "R6",
    "rlang",
    "stringdist",
    "stringi",
    "stringr",
    "tibble",
    "tidyr",
    "tidyselect",
    "utf8",
    "vctrs",
    "withr"
  ],
  "_score": 3.4727564493172123,
  "_indexed": true,
  "_nocasepkg": "hmatch",
  "_universes": [
    "epicentre-msf",
    "patrickbarks"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.0.9000",
      "date": "2026-05-27T07:16:18.000Z",
      "distro": "noble",
      "commit": "1a57862a84e18711163fdc11b100ad1e60f2f491",
      "fileid": "e52e6a33fb7d75a25b4f3c7f3199ed02cf009b2b88ecf85c800355bd0f70fd69",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/epicentre-msf/actions/runs/26496523886"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.0.9000",
      "date": "2026-05-27T07:16:24.000Z",
      "distro": "noble",
      "commit": "1a57862a84e18711163fdc11b100ad1e60f2f491",
      "fileid": "d8a8598eb136731a26320f826e90668c9d327a1ebd41e28e062f2f6b140d53b9",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/epicentre-msf/actions/runs/26496523886"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.0.9000",
      "date": "2026-05-27T07:26:50.000Z",
      "commit": "1a57862a84e18711163fdc11b100ad1e60f2f491",
      "fileid": "35dae03e2de18386a12392292f86286675fa82e08fb492cf1a26892bf7c3fc4e",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/epicentre-msf/actions/runs/26496523886"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.0.9000",
      "date": "2026-05-27T07:28:46.000Z",
      "commit": "1a57862a84e18711163fdc11b100ad1e60f2f491",
      "fileid": "a90743e8593dc2d334b2338ea3fa4141f8817c515ab6d6c761cd88535546dcc7",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/epicentre-msf/actions/runs/26496523886"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.0.9000",
      "date": "2026-05-27T07:16:18.000Z",
      "commit": "1a57862a84e18711163fdc11b100ad1e60f2f491",
      "fileid": "2151e3415c1134b6cf5dbb5f5a56882e8804e53916697c5bfce2ea61d6422570",
      "status": "success",
      "buildurl": "https://github.com/r-universe/epicentre-msf/actions/runs/26496523886"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.0.9000",
      "date": "2026-05-27T07:15:47.000Z",
      "commit": "1a57862a84e18711163fdc11b100ad1e60f2f491",
      "fileid": "9393830bf438e64e7468d4822738ceef7df308227066ecdb811ca51857ab44d8",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/epicentre-msf/actions/runs/26496523886"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.0.9000",
      "date": "2026-05-27T07:15:22.000Z",
      "commit": "1a57862a84e18711163fdc11b100ad1e60f2f491",
      "fileid": "d2a253c06790db6bc5170ca2d8b2181d053222f5b117d47a117414a2c52df9b2",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/epicentre-msf/actions/runs/26496523886"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.1.0.9000",
      "date": "2026-05-27T07:15:21.000Z",
      "commit": "1a57862a84e18711163fdc11b100ad1e60f2f491",
      "fileid": "d52107964341fc423105df0251e438a20cff89143984b95f4bc50e44ee30e9c0",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/epicentre-msf/actions/runs/26496523886"
    }
  ]
}