{
  "_id": "6a101947acfb0bcc41c85e39",
  "Package": "supportR",
  "Type": "Package",
  "Title": "Support Functions for Wrangling and Visualization",
  "Version": "1.6.0.900",
  "Date": "2026-03-10",
  "Authors@R": "c(\nperson(given = \"Nicholas J\",\nfamily = \"Lyon\",\nrole = c(\"aut\", \"cre\", \"cph\"),\ncomment = \"https://orcid.org/0000-0003-3905-1078\",\nemail = \"nickjlyon@gmail.com\"))",
  "Maintainer": "Nicholas J Lyon <nickjlyon@gmail.com>",
  "Description": "Suite of helper functions for data wrangling and\nvisualization. The only theme for these functions is that they\ntend towards simple, short, and narrowly-scoped. These\nfunctions are built for tasks that often recur but are not\nlarge enough in scope to warrant an ecosystem of interdependent\nfunctions.",
  "License": "MIT + file LICENSE",
  "Language": "en-US",
  "Encoding": "UTF-8",
  "RoxygenNote": "7.3.3",
  "URL": "https://github.com/njlyon0/supportR,\nhttps://njlyon0.github.io/supportR/",
  "BugReports": "https://github.com/njlyon0/supportR/issues",
  "Roxygen": "list(markdown = TRUE)",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Config/pak/sysreqs": "cmake git make libicu-dev libuv1-dev libxml2-dev\nlibssl-dev",
  "Repository": "https://njlyon0.r-universe.dev",
  "Date/Publication": "2026-05-14 16:01:51 UTC",
  "RemoteUrl": "https://github.com/njlyon0/supportr",
  "RemoteRef": "HEAD",
  "RemoteSha": "5d2ebaad9a808c28866b064477fb2fb7777a07e9",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-14 18:11:46 UTC",
    "User": "root"
  },
  "Author": "Nicholas J Lyon [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0003-3905-1078>)",
  "MD5sum": "f70cc21fb477b1289e900b9c344c9752",
  "_user": "njlyon0",
  "_type": "src",
  "_file": "supportR_1.6.0.900.tar.gz",
  "_fileid": "7b760530f39f6700f4131e39c2fffb2bcf46e509e7f41a2f3c8117f06dd84616",
  "_filesize": 583457,
  "_sha256": "7b760530f39f6700f4131e39c2fffb2bcf46e509e7f41a2f3c8117f06dd84616",
  "_created": "2026-05-14T18:11:46.000Z",
  "_published": "2026-05-22T08:52:23.518Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77347201904,
      "time": 156,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7001434292"
    },
    {
      "job": 77347202044,
      "time": 133,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7001427573"
    },
    {
      "job": 77347202268,
      "time": 118,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7001422508"
    },
    {
      "job": 77347202074,
      "time": 99,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7001416463"
    },
    {
      "job": 77347201890,
      "time": 222,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7001381584"
    },
    {
      "job": 77347201669,
      "time": 131,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7156581457"
    },
    {
      "job": 77347202363,
      "time": 117,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7001422004"
    },
    {
      "job": 77347202055,
      "time": 92,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7001413719"
    },
    {
      "job": 77347202121,
      "time": 90,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7001412992"
    }
  ],
  "_buildurl": "https://github.com/r-universe/njlyon0/actions/runs/25876881276",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/njlyon0/supportr",
  "_commit": {
    "id": "5d2ebaad9a808c28866b064477fb2fb7777a07e9",
    "author": "njlyon0 <nicholasjlyon@gmail.com>",
    "committer": "njlyon0 <nicholasjlyon@gmail.com>",
    "message": "dev (manymany): fix function to work as desired in simple test case\n",
    "time": 1778774511
  },
  "_maintainer": {
    "name": "Nicholas J Lyon",
    "email": "nickjlyon@gmail.com",
    "orcid": "0000-0003-3905-1078"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.5",
      "role": "Depends"
    },
    {
      "package": "data.tree",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "gh",
      "role": "Imports"
    },
    {
      "package": "googledrive",
      "role": "Imports"
    },
    {
      "package": "graphics",
      "role": "Imports"
    },
    {
      "package": "lifecycle",
      "role": "Imports"
    },
    {
      "package": "magrittr",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "rmarkdown",
      "role": "Imports"
    },
    {
      "package": "scales",
      "role": "Imports"
    },
    {
      "package": "spelling",
      "role": "Imports"
    },
    {
      "package": "stringi",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "vegan",
      "role": "Imports"
    },
    {
      "package": "ape",
      "role": "Suggests"
    },
    {
      "package": "devtools",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "palmerpenguins",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "njlyon0",
  "_selfowned": true,
  "_usedby": 1,
  "_updates": [
    {
      "week": "2025-23",
      "n": 8
    },
    {
      "week": "2025-51",
      "n": 8
    },
    {
      "week": "2026-11",
      "n": 11
    },
    {
      "week": "2026-18",
      "n": 2
    },
    {
      "week": "2026-20",
      "n": 2
    }
  ],
  "_tags": [
    {
      "name": "v1.5.0",
      "date": "2025-06-03"
    },
    {
      "name": "v1.6.0",
      "date": "2025-12-20"
    }
  ],
  "_topics": [
    "data-science"
  ],
  "_stars": 9,
  "_contributors": [
    {
      "user": "njlyon0",
      "count": 445,
      "uuid": 21199610
    },
    {
      "user": "olivroy",
      "count": 1,
      "uuid": 52606734
    }
  ],
  "_userbio": {
    "uuid": 21199610,
    "type": "user",
    "name": "Nick J Lyon",
    "description": "Ecologist turned data scientist with a particular focus on reproducible and efficient code"
  },
  "_downloads": {
    "count": 530,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/supportR"
  },
  "_devurl": "https://github.com/njlyon0/supportr",
  "_pkgdown": "https://njlyon0.github.io/supportR/",
  "_searchresults": 19,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/supportR.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/njlyon0/supportr",
  "_realowner": "njlyon0",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.0.0",
      "date": "2023-02-09"
    },
    {
      "version": "1.1.0",
      "date": "2023-07-08"
    },
    {
      "version": "1.2.0",
      "date": "2023-08-24"
    },
    {
      "version": "1.3.0",
      "date": "2024-04-12"
    },
    {
      "version": "1.4.0",
      "date": "2024-06-14"
    },
    {
      "version": "1.5.0",
      "date": "2025-06-03"
    },
    {
      "version": "1.6.0",
      "date": "2025-12-21"
    }
  ],
  "_exports": [
    "array_melt",
    "count",
    "count_diff",
    "crop_tri",
    "date_check",
    "date_format_guess",
    "diff_check",
    "force_num",
    "github_ls",
    "github_tree",
    "multi_date_check",
    "multi_num_check",
    "name_vec",
    "nms_ord",
    "num_check",
    "ordination",
    "pcoa_ord",
    "replace_non_ascii",
    "rmd_export",
    "safe_rename",
    "spellcheck_quarto",
    "summary_table",
    "tabularize_md",
    "theme_lyon"
  ],
  "_help": [
    {
      "page": "array_melt",
      "title": "Melt an Array into a Dataframe",
      "topics": [
        "array_melt"
      ]
    },
    {
      "page": "count",
      "title": "Count Occurrences of Unique Vector Elements",
      "topics": [
        "count"
      ]
    },
    {
      "page": "count_diff",
      "title": "Count Difference in Occurrences of Vector Elements",
      "topics": [
        "count_diff"
      ]
    },
    {
      "page": "crop_tri",
      "title": "Crop a Triangle from Data Object",
      "topics": [
        "crop_tri"
      ]
    },
    {
      "page": "date_check",
      "title": "Check Columns for Non-Dates",
      "topics": [
        "date_check"
      ]
    },
    {
      "page": "date_format_guess",
      "title": "Identify Probable Format for Ambiguous Date Formats",
      "topics": [
        "date_format_guess"
      ]
    },
    {
      "page": "diff_check",
      "title": "Compare Difference Between Two Vectors",
      "topics": [
        "diff_check"
      ]
    },
    {
      "page": "force_num",
      "title": "Force Coerce to Numeric",
      "topics": [
        "force_num"
      ]
    },
    {
      "page": "github_ls",
      "title": "List Objects in a GitHub Repository",
      "topics": [
        "github_ls"
      ]
    },
    {
      "page": "github_ls_single",
      "title": "List Objects in a Single Folder of a GitHub Repository",
      "topics": [
        "github_ls_single"
      ]
    },
    {
      "page": "github_tree",
      "title": "Create File Tree of a GitHub Repository",
      "topics": [
        "github_tree"
      ]
    },
    {
      "page": "name_vec",
      "title": "Create Named Vector",
      "topics": [
        "name_vec"
      ]
    },
    {
      "page": "nms_ord",
      "title": "Publication-Quality Non-metric Multi-dimensional Scaling (NMS) Ordinations",
      "topics": [
        "nms_ord"
      ]
    },
    {
      "page": "num_check",
      "title": "Check Columns for Non-Numbers",
      "topics": [
        "num_check"
      ]
    },
    {
      "page": "ordination",
      "title": "Create an Ordination with Ellipses for Groups",
      "topics": [
        "ordination"
      ]
    },
    {
      "page": "pcoa_ord",
      "title": "Publication-Quality Principal Coordinates Analysis (PCoA) Ordinations",
      "topics": [
        "pcoa_ord"
      ]
    },
    {
      "page": "replace_non_ascii",
      "title": "Replace Non-ASCII Characters with Comparable ASCII Characters",
      "topics": [
        "replace_non_ascii"
      ]
    },
    {
      "page": "rmd_export",
      "title": "Knit an R Markdown File and Export to Google Drive",
      "topics": [
        "rmd_export"
      ]
    },
    {
      "page": "safe_rename",
      "title": "Safely Rename Columns in a Dataframe",
      "topics": [
        "safe_rename"
      ]
    },
    {
      "page": "spellcheck_quarto",
      "title": "Check the Spelling of All Quarto Files in a Given Directory",
      "topics": [
        "spellcheck_quarto"
      ]
    },
    {
      "page": "summary_table",
      "title": "Generate Summary Table for Supplied Response and Grouping Variables",
      "topics": [
        "summary_table"
      ]
    },
    {
      "page": "tabularize_md",
      "title": "Make a Markdown File into a Table",
      "topics": [
        "tabularize_md"
      ]
    },
    {
      "page": "theme_lyon",
      "title": "Complete 'ggplot2' Theme for Non-Data Aesthetics",
      "topics": [
        "theme_lyon"
      ]
    }
  ],
  "_readme": "https://github.com/njlyon0/supportr/raw/HEAD/README.md",
  "_rundeps": [
    "askpass",
    "base64enc",
    "bslib",
    "cachem",
    "cli",
    "cluster",
    "commonmark",
    "cpp11",
    "curl",
    "data.tree",
    "digest",
    "dplyr",
    "evaluate",
    "farver",
    "fastmap",
    "fontawesome",
    "fs",
    "gargle",
    "generics",
    "ggplot2",
    "gh",
    "gitcreds",
    "glue",
    "googledrive",
    "gtable",
    "highr",
    "htmltools",
    "httr",
    "httr2",
    "hunspell",
    "ini",
    "isoband",
    "jquerylib",
    "jsonlite",
    "knitr",
    "labeling",
    "lattice",
    "lifecycle",
    "magrittr",
    "MASS",
    "Matrix",
    "memoise",
    "mgcv",
    "mime",
    "nlme",
    "openssl",
    "permute",
    "pillar",
    "pkgconfig",
    "purrr",
    "R6",
    "rappdirs",
    "RColorBrewer",
    "Rcpp",
    "rlang",
    "rmarkdown",
    "S7",
    "sass",
    "scales",
    "spelling",
    "stringi",
    "stringr",
    "sys",
    "tibble",
    "tidyr",
    "tidyselect",
    "tinytex",
    "utf8",
    "uuid",
    "vctrs",
    "vegan",
    "viridisLite",
    "withr",
    "xfun",
    "xml2",
    "yaml"
  ],
  "_vignettes": [
    {
      "source": "supportr_03_visualizations.Rmd",
      "filename": "supportr_03_visualizations.html",
      "title": "Data Visualization",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Example Data",
        "Custom ggplot2 Theme",
        "Metric & Non-Metric Multidimensional Ordinations"
      ],
      "created": "2024-11-20 16:08:03",
      "modified": "2024-11-20 16:08:03",
      "commits": 1
    },
    {
      "source": "supportr_01_wrangle.Rmd",
      "filename": "supportr_01_wrangle.html",
      "title": "Data Wrangling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Example Data",
        "Summarize Within Groups",
        "Safely Rename Columns",
        "Handle Special Characters",
        "Crop Triangles",
        "\"Melt\" Arrays into Dataframes"
      ],
      "created": "2024-11-20 16:08:03",
      "modified": "2024-11-20 16:08:03",
      "commits": 1
    },
    {
      "source": "supportr_04_outside-of-r.Rmd",
      "filename": "supportr_04_outside-of-r.html",
      "title": "Operating Outside of R",
      "engine": "knitr::rmarkdown",
      "headings": [
        "GitHub-Related Functions",
        "External File-Related Functions",
        "Google Drive-Related Functions"
      ],
      "created": "2024-11-20 16:08:03",
      "modified": "2025-04-04 16:20:57",
      "commits": 2
    },
    {
      "source": "supportr_02_quality-control.Rmd",
      "filename": "supportr_02_quality-control.html",
      "title": "Quality Control",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Identify Differences Between Two Vectors",
        "Identify Non-Numbers",
        "Identify Malformed Dates",
        "Deduce Date Formats from Ambiguous Dates"
      ],
      "created": "2024-11-20 16:08:03",
      "modified": "2025-04-04 16:20:57",
      "commits": 2
    }
  ],
  "_score": 6.710117365111817,
  "_indexed": true,
  "_nocasepkg": "supportr",
  "_universes": [
    "njlyon0"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.6.0.900",
      "date": "2026-05-14T18:14:20.000Z",
      "distro": "noble",
      "commit": "5d2ebaad9a808c28866b064477fb2fb7777a07e9",
      "fileid": "58b01ec12a73b890409a5d8ec2cc411e612debe4a57ac491625db8cf9ddb7d47",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/njlyon0/actions/runs/25876881276"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.6.0.900",
      "date": "2026-05-14T18:14:01.000Z",
      "distro": "noble",
      "commit": "5d2ebaad9a808c28866b064477fb2fb7777a07e9",
      "fileid": "a15bdad92942cab13c6a1119029cd131cba9ca2751c1d38ada50df6e66ddbc51",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/njlyon0/actions/runs/25876881276"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.6.0.900",
      "date": "2026-05-14T18:13:43.000Z",
      "commit": "5d2ebaad9a808c28866b064477fb2fb7777a07e9",
      "fileid": "8fe40a24f3e37be50a81f2fab0db7410a68844a07ea0f6449aefd02d12611ecb",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/njlyon0/actions/runs/25876881276"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.6.0.900",
      "date": "2026-05-14T18:13:32.000Z",
      "commit": "5d2ebaad9a808c28866b064477fb2fb7777a07e9",
      "fileid": "d7ee4d14aafa9f0b13ef3e5cb063a181678522b1820542c3a1f3e9545b6eeb79",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/njlyon0/actions/runs/25876881276"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.6.0.900",
      "date": "2026-05-14T18:13:38.000Z",
      "commit": "5d2ebaad9a808c28866b064477fb2fb7777a07e9",
      "fileid": "92520ab17bf73747fa617a37fe35f49acf8b4b25b280c0096eca47ad7d66af70",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/njlyon0/actions/runs/25876881276"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.6.0.900",
      "date": "2026-05-14T18:13:12.000Z",
      "commit": "5d2ebaad9a808c28866b064477fb2fb7777a07e9",
      "fileid": "93fe587588ac278fa0a13c5576afbddd7a0546e1c28279d12803cacced2ed871",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/njlyon0/actions/runs/25876881276"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.6.0.900",
      "date": "2026-05-14T18:13:09.000Z",
      "commit": "5d2ebaad9a808c28866b064477fb2fb7777a07e9",
      "fileid": "8e8f9d1d70a833077074e8469fccfd1ed078f8f80c154de69fa9b21180cfe940",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/njlyon0/actions/runs/25876881276"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.6.0.900",
      "date": "2026-05-22T08:52:07.000Z",
      "commit": "5d2ebaad9a808c28866b064477fb2fb7777a07e9",
      "fileid": "f94ecce20bee1060f97fe629a9487d3ceb51c40f340a32ba93124296a0dc55f7",
      "status": "success",
      "buildurl": "https://github.com/r-universe/njlyon0/actions/runs/25876881276"
    }
  ]
}