{
  "_id": "6a1d5d771d7bb097a0a48c4c",
  "Package": "joyn",
  "Type": "Package",
  "Title": "Tool for Diagnosis of Tables Joins and Complementary Join\nFeatures",
  "Version": "0.3.0.9000",
  "Authors@R": "c(person(given = \"R.Andres\", \nfamily = \"Castaneda\",\nemail = \"acastanedaa@worldbank.org\",\nrole = c(\"aut\", \"cre\")),\nperson(given = \"Zander\",\nfamily = \"Prinsloo\",\nrole = \"aut\",\nemail = \"zprinsloo@worldbank.org\"),\nperson(given = \"Rossana\",\nfamily = \"Tatulli\",\nrole = \"aut\",\nemail = \"rtatulli@worldbank.org\")\n)",
  "Description": "Tool for diagnosing table joins. It combines the speed of\n`collapse` and `data.table`, the flexibility of `dplyr`, and\nthe diagnosis and features of the `merge` command in `Stata`.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "URL": "https://github.com/randrescastaneda/joyn,\nhttps://randrescastaneda.github.io/joyn/",
  "BugReports": "https://github.com/randrescastaneda/joyn/issues",
  "Config/testthat/edition": "3",
  "RoxygenNote": "7.3.2",
  "Roxygen": "list(markdown = TRUE)",
  "VignetteBuilder": "knitr",
  "Repository": "https://randrescastaneda.r-universe.dev",
  "Date/Publication": "2025-12-03 16:23:27 UTC",
  "RemoteUrl": "https://github.com/randrescastaneda/joyn",
  "RemoteRef": "HEAD",
  "RemoteSha": "1bd93c3bd926b6778bb55c33c433636021203bfb",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-01 10:17:29 UTC",
    "User": "root"
  },
  "Author": "R.Andres Castaneda [aut, cre],\nZander Prinsloo [aut],\nRossana Tatulli [aut]",
  "Maintainer": "R.Andres Castaneda <acastanedaa@worldbank.org>",
  "MD5sum": "e8f6d2d899455d38de6f372d7b67f97c",
  "_user": "randrescastaneda",
  "_type": "src",
  "_file": "joyn_0.3.0.9000.tar.gz",
  "_fileid": "6dc66fd280416728505116104f946e2db402e65996640d7648f7cb474b83ed8c",
  "_filesize": 703763,
  "_sha256": "6dc66fd280416728505116104f946e2db402e65996640d7648f7cb474b83ed8c",
  "_created": "2026-06-01T10:17:29.000Z",
  "_published": "2026-06-01T10:22:47.541Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78831626130,
      "time": 146,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7328974172"
    },
    {
      "job": 78831626171,
      "time": 148,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7328975239"
    },
    {
      "job": 78831626120,
      "time": 208,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7328984775"
    },
    {
      "job": 78831626129,
      "time": 143,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7328966629"
    },
    {
      "job": 78831115073,
      "time": 198,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7328925761"
    },
    {
      "job": 78831626109,
      "time": 111,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7328963357"
    },
    {
      "job": 78831626125,
      "time": 276,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7329015059"
    },
    {
      "job": 78831626177,
      "time": 139,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7328972040"
    },
    {
      "job": 78831626123,
      "time": 108,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7328962140"
    }
  ],
  "_buildurl": "https://github.com/r-universe/randrescastaneda/actions/runs/26748772182",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/randrescastaneda/joyn",
  "_commit": {
    "id": "1bd93c3bd926b6778bb55c33c433636021203bfb",
    "author": "R.Andres Castaneda <acastanedaa@worldbank.org>",
    "committer": "R.Andres Castaneda <acastanedaa@worldbank.org>",
    "message": "Increment version number to 0.3.0.9000\n",
    "time": 1764779007
  },
  "_maintainer": {
    "name": "R.Andres Castaneda",
    "email": "acastanedaa@worldbank.org",
    "login": "randrescastaneda",
    "description": "Senior Economist/Data Scientist",
    "uuid": 35301997
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.2.0",
      "role": "Depends"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "data.table",
      "role": "Imports"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "collapse",
      "version": ">= 2.0.15",
      "role": "Imports"
    },
    {
      "package": "lifecycle",
      "role": "Imports"
    },
    {
      "package": "glue",
      "role": "Imports"
    },
    {
      "package": "badger",
      "role": "Suggests"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    },
    {
      "package": "dplyr",
      "role": "Suggests"
    },
    {
      "package": "tibble",
      "role": "Suggests"
    },
    {
      "package": "fs",
      "role": "Suggests"
    }
  ],
  "_owner": "randrescastaneda",
  "_selfowned": true,
  "_usedby": 2,
  "_updates": [
    {
      "week": "2025-37",
      "n": 1
    },
    {
      "week": "2025-49",
      "n": 2
    }
  ],
  "_tags": [
    {
      "name": "v0.3.0",
      "date": "2025-12-03"
    }
  ],
  "_topics": [
    "join",
    "merge"
  ],
  "_stars": 9,
  "_contributors": [
    {
      "user": "randrescastaneda",
      "count": 455,
      "uuid": 35301997
    },
    {
      "user": "rossanatat",
      "count": 316,
      "uuid": 150610573
    },
    {
      "user": "zander-prinsloo",
      "count": 104,
      "uuid": 62433917
    },
    {
      "user": "krlmlr",
      "count": 1,
      "uuid": 1741643
    }
  ],
  "_userbio": {
    "uuid": 35301997,
    "type": "user",
    "name": "R.Andrés Castañeda",
    "description": "Senior Economist/Data Scientist"
  },
  "_downloads": {
    "count": 240,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/joyn"
  },
  "_devurl": "https://github.com/randrescastaneda/joyn",
  "_pkgdown": "https://randrescastaneda.github.io/joyn/",
  "_searchresults": 33,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/joyn.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/randrescastaneda/joyn",
  "_realowner": "randrescastaneda",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.0.1",
      "date": "2021-04-02"
    },
    {
      "version": "0.1.3",
      "date": "2021-04-28"
    },
    {
      "version": "0.1.4",
      "date": "2021-12-14"
    },
    {
      "version": "0.2.0",
      "date": "2024-03-30"
    },
    {
      "version": "0.2.2",
      "date": "2024-07-10"
    },
    {
      "version": "0.2.3",
      "date": "2024-08-21"
    },
    {
      "version": "0.2.4",
      "date": "2024-12-13"
    },
    {
      "version": "0.3.0",
      "date": "2025-12-11"
    }
  ],
  "_exports": [
    "anti_join",
    "freq_table",
    "full_join",
    "get_joyn_options",
    "inner_join",
    "is_balanced",
    "is_id",
    "joyn",
    "joyn_msg",
    "joyn_report",
    "left_join",
    "merge",
    "possible_ids",
    "rename_to_valid",
    "right_join",
    "set_joyn_options"
  ],
  "_help": [
    {
      "page": "anti_join",
      "title": "Anti join on two data frames",
      "concept": [
        "dplyr alternatives"
      ],
      "topics": [
        "anti_join"
      ]
    },
    {
      "page": "freq_table",
      "title": "Tabulate simple frequencies",
      "topics": [
        "freq_table"
      ]
    },
    {
      "page": "full_join",
      "title": "Full join two data frames",
      "concept": [
        "dplyr alternatives"
      ],
      "topics": [
        "full_join"
      ]
    },
    {
      "page": "get_joyn_options",
      "title": "Get joyn options",
      "concept": [
        "options"
      ],
      "topics": [
        "get_joyn_options"
      ]
    },
    {
      "page": "inner_join",
      "title": "Inner join two data frames",
      "concept": [
        "dplyr alternatives"
      ],
      "topics": [
        "inner_join"
      ]
    },
    {
      "page": "is_balanced",
      "title": "Is data frame balanced by group?",
      "topics": [
        "is_balanced"
      ]
    },
    {
      "page": "is_id",
      "title": "Check if dt is uniquely identified by 'by' variable",
      "topics": [
        "is_id"
      ]
    },
    {
      "page": "joyn",
      "title": "Join two tables",
      "topics": [
        "joyn"
      ]
    },
    {
      "page": "joyn_msg",
      "title": "display type of joyn message",
      "concept": [
        "messages"
      ],
      "topics": [
        "joyn_msg"
      ]
    },
    {
      "page": "joyn_report",
      "title": "Print JOYn report table",
      "concept": [
        "messages"
      ],
      "topics": [
        "joyn_report"
      ]
    },
    {
      "page": "left_join",
      "title": "Left join two data frames",
      "concept": [
        "dplyr alternatives"
      ],
      "topics": [
        "left_join"
      ]
    },
    {
      "page": "merge",
      "title": "Merge two data frames",
      "topics": [
        "merge"
      ]
    },
    {
      "page": "possible_ids",
      "title": "Find possible unique identifies of data frame",
      "topics": [
        "possible_ids"
      ]
    },
    {
      "page": "rename_to_valid",
      "title": "Rename to syntactically valid names",
      "topics": [
        "rename_to_valid"
      ]
    },
    {
      "page": "right_join",
      "title": "Right join two data frames",
      "concept": [
        "dplyr alternatives"
      ],
      "topics": [
        "right_join"
      ]
    },
    {
      "page": "set_joyn_options",
      "title": "Set joyn options",
      "concept": [
        "options"
      ],
      "topics": [
        "set_joyn_options"
      ]
    }
  ],
  "_readme": "https://github.com/randrescastaneda/joyn/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "collapse",
    "data.table",
    "glue",
    "lifecycle",
    "Rcpp",
    "rlang"
  ],
  "_vignettes": [
    {
      "source": "merge-wrapper.Rmd",
      "filename": "merge-wrapper.html",
      "title": "data.table::merge() wrapper",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Examples",
        "Simple merge",
        "Going further"
      ],
      "created": "2024-02-22 01:47:45",
      "modified": "2024-03-29 18:12:24",
      "commits": 2
    },
    {
      "source": "aux-functions.Rmd",
      "filename": "aux-functions.html",
      "title": "Additional functions",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Verifying if dt is uniquely identified",
        "Possible unique identifiers",
        "Verifying if data table is balanced",
        "Tabulating simple frequencies"
      ],
      "created": "2024-02-22 01:47:45",
      "modified": "2024-12-18 21:02:03",
      "commits": 3
    },
    {
      "source": "adv-functionalities.Rmd",
      "filename": "adv-functionalities.html",
      "title": "Advanced functionalities",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Advanced use",
        "1. Use variable country as one of the key variables",
        "2. Ignore the values of country from y and don't bring it into the resulting table",
        "3. Update only NAs in table x",
        "4. Update actual values in table x",
        "5. Keep original country variable from y into returning table",
        "(Keep matching-names variable from y into x -not updating values in x)",
        "Bring other variables from y into returning table"
      ],
      "created": "2024-02-22 01:47:45",
      "modified": "2024-02-22 01:47:45",
      "commits": 1
    },
    {
      "source": "dplyr-joins.Rmd",
      "filename": "dplyr-joins.html",
      "title": "dplyr joins wrappers",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Rationale",
        "Some examples",
        "1. Left join",
        "2. Right join",
        "3. Full join",
        "4. Inner join"
      ],
      "created": "2024-02-22 01:47:45",
      "modified": "2024-03-29 18:12:24",
      "commits": 2
    },
    {
      "source": "main-functionalities.Rmd",
      "filename": "main-functionalities.html",
      "title": "Main functionalities",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "General use",
        "The basics",
        "Reporting variable",
        "Key variables",
        "Match type",
        "Type of join",
        "An important feature: JOYn report and info display"
      ],
      "created": "2024-02-22 01:47:45",
      "modified": "2024-02-22 01:47:45",
      "commits": 1
    },
    {
      "source": "messages.Rmd",
      "filename": "messages.html",
      "title": "Messages",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Information messages ℹ",
        "Timing messages 🔵",
        "Warning messages ⚠️",
        "Error messages ❌",
        "Additional: How to visualize joyn messages?"
      ],
      "created": "2024-02-22 01:47:45",
      "modified": "2024-03-29 18:12:24",
      "commits": 2
    }
  ],
  "_score": 7.506180204804162,
  "_indexed": true,
  "_nocasepkg": "joyn",
  "_universes": [
    "randrescastaneda"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.3.0.9000",
      "date": "2026-06-01T10:19:41.000Z",
      "distro": "noble",
      "commit": "1bd93c3bd926b6778bb55c33c433636021203bfb",
      "fileid": "1d42342a3aa7c90c1c1e994fd40d06c22770fe18c4d8f7700a16e7405a3304d6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/randrescastaneda/actions/runs/26748772182"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.3.0.9000",
      "date": "2026-06-01T10:19:48.000Z",
      "distro": "noble",
      "commit": "1bd93c3bd926b6778bb55c33c433636021203bfb",
      "fileid": "f62ef8a29f22d062963cd99fc865ae32b584ed87cf0e7d91790313d2b8fe3390",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/randrescastaneda/actions/runs/26748772182"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.3.0.9000",
      "date": "2026-06-01T10:20:21.000Z",
      "commit": "1bd93c3bd926b6778bb55c33c433636021203bfb",
      "fileid": "ef3baee672a66a422ec45f573de28045a627eaa9e821dd9d2ac38e603b4a5ccd",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/randrescastaneda/actions/runs/26748772182"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.3.0.9000",
      "date": "2026-06-01T10:19:29.000Z",
      "commit": "1bd93c3bd926b6778bb55c33c433636021203bfb",
      "fileid": "92fc18ac2305cffe9d1169186eb0a44e0ff669627d4c2cc8da6ceb5fb45cc31e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/randrescastaneda/actions/runs/26748772182"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.3.0.9000",
      "date": "2026-06-01T10:19:47.000Z",
      "commit": "1bd93c3bd926b6778bb55c33c433636021203bfb",
      "fileid": "65f2e6a8c317bda76dd24c8ff11e31b3d24044fc2691c688650ea437b2457a85",
      "status": "success",
      "buildurl": "https://github.com/r-universe/randrescastaneda/actions/runs/26748772182"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.3.0.9000",
      "date": "2026-06-01T10:21:44.000Z",
      "commit": "1bd93c3bd926b6778bb55c33c433636021203bfb",
      "fileid": "d260e20ae7dffe8c022ede58dc9728bf5a5e03f7e13925a1b1708c423892ee8a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/randrescastaneda/actions/runs/26748772182"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.3.0.9000",
      "date": "2026-06-01T10:19:05.000Z",
      "commit": "1bd93c3bd926b6778bb55c33c433636021203bfb",
      "fileid": "4d9d24394d2562bee5631bdc457948ab3b95021866a07f46e593ad23fa93e9d6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/randrescastaneda/actions/runs/26748772182"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.3.0.9000",
      "date": "2026-06-01T10:18:55.000Z",
      "commit": "1bd93c3bd926b6778bb55c33c433636021203bfb",
      "fileid": "debeeeae7945757fde9294a4355239da3eab83e38bc6e47a3f1171d4039b6ed4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/randrescastaneda/actions/runs/26748772182"
    }
  ]
}