{
  "_id": "6a49ed7754b1f994258ab452",
  "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-06-13 07:15:05 UTC",
    "User": "root"
  },
  "Author": "Nicholas J Lyon [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0003-3905-1078>)",
  "_user": "njlyon0",
  "_type": "src",
  "_file": "supportR_1.6.0.900.tar.gz",
  "_fileid": "https://r2.ropensci.org/06a8159af48405902faeda86855da0ff9fd05bfa216b52ad12a66ad31d57083d",
  "_filesize": 584126,
  "_sha256": "06a8159af48405902faeda86855da0ff9fd05bfa216b52ad12a66ad31d57083d",
  "_expires": "2026-10-13T05:36:53.000Z",
  "_created": "2026-06-13T07:15:05.000Z",
  "_published": "2026-07-05T05:36:55.274Z",
  "_jobs": [
    {
      "job": 85196137936,
      "time": 170,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7608537040"
    },
    {
      "job": 85196137971,
      "time": 147,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7608534121"
    },
    {
      "job": 85196137925,
      "time": 80,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7608538985"
    },
    {
      "job": 85196137865,
      "time": 110,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7608529285"
    },
    {
      "job": 85196137783,
      "time": 168,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7608514283"
    },
    {
      "job": 85196137975,
      "time": 127,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7608531287"
    },
    {
      "job": 85196137812,
      "time": 94,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7608527361"
    },
    {
      "job": 85196137872,
      "time": 90,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7608526436"
    },
    {
      "job": 85196137982,
      "time": 84,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7608525658"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/njlyon0/actions/runs/27460014233",
  "_status": "success",
  "_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"
  },
  "_distro": "noble",
  "_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-51",
      "n": 8
    },
    {
      "week": "2026-11",
      "n": 11
    },
    {
      "week": "2026-18",
      "n": 2
    },
    {
      "week": "2026-20",
      "n": 2
    }
  ],
  "_tags": [
    {
      "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": 538,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/supportR"
  },
  "_devurl": "https://github.com/njlyon0/supportr",
  "_pkgdown": "https://njlyon0.github.io/supportR/",
  "_searchresults": 22,
  "_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",
    "LICENSE",
    "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",
    "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.676876431973137,
  "_indexed": true,
  "_nocasepkg": "supportr",
  "_universes": [
    "njlyon0"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.6.0.900",
      "date": "2026-06-13T07:17:52.000Z",
      "distro": "noble",
      "commit": "5d2ebaad9a808c28866b064477fb2fb7777a07e9",
      "fileid": "https://r2.ropensci.org/0ef4cffeaa090365d7c37f39dcb74fee1f093fe4e6e932a67006f8d13c7a5755",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/njlyon0/actions/runs/27460014233"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.6.0.900",
      "date": "2026-06-13T07:17:30.000Z",
      "distro": "noble",
      "commit": "5d2ebaad9a808c28866b064477fb2fb7777a07e9",
      "fileid": "https://r2.ropensci.org/627115c16faceed03feba607efcb2724fbf6fe129198551437439d9a4c5632c9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/njlyon0/actions/runs/27460014233"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.6.0.900",
      "date": "2026-06-13T07:18:13.000Z",
      "commit": "5d2ebaad9a808c28866b064477fb2fb7777a07e9",
      "fileid": "https://r2.ropensci.org/c79a7e2ac25a2064b649b2e41c009a5589b667b7154a5e7421403c485586f030",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/njlyon0/actions/runs/27460014233"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.6.0.900",
      "date": "2026-06-13T07:16:50.000Z",
      "commit": "5d2ebaad9a808c28866b064477fb2fb7777a07e9",
      "fileid": "https://r2.ropensci.org/6fa2f38fe4e93bb65cf1c54d2dcbecc160f6cc7bda0a46270323a7e7cdf0228e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/njlyon0/actions/runs/27460014233"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.6.0.900",
      "date": "2026-06-13T07:17:27.000Z",
      "commit": "5d2ebaad9a808c28866b064477fb2fb7777a07e9",
      "fileid": "https://r2.ropensci.org/ee4e065d4f57925a99cfe8e4e344ad9dfef767676156596dd79134534b2c4ea1",
      "status": "success",
      "buildurl": "https://github.com/r-universe/njlyon0/actions/runs/27460014233"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.6.0.900",
      "date": "2026-06-13T07:16:35.000Z",
      "commit": "5d2ebaad9a808c28866b064477fb2fb7777a07e9",
      "fileid": "https://r2.ropensci.org/c0f61dc0c53bb368d7714edfde22b7d47fe619aa6e5466cb7e40f4b4fdcbed04",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/njlyon0/actions/runs/27460014233"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.6.0.900",
      "date": "2026-06-13T07:16:25.000Z",
      "commit": "5d2ebaad9a808c28866b064477fb2fb7777a07e9",
      "fileid": "https://r2.ropensci.org/56be79fc79459d098ba88602a0bbf505fd883ec1cc1192dde32520844665517f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/njlyon0/actions/runs/27460014233"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.6.0.900",
      "date": "2026-06-13T07:16:21.000Z",
      "commit": "5d2ebaad9a808c28866b064477fb2fb7777a07e9",
      "fileid": "https://r2.ropensci.org/d9a64582116b7eeb98ec3748af90dd836ec9a59aa5a8634651eb1669376ba2d2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/njlyon0/actions/runs/27460014233"
    }
  ]
}