{
  "_id": "6a49d1b9b48287dcb3fda3d3",
  "Package": "omnibus",
  "Type": "Package",
  "Title": "Helper Tools for Managing Data, Dates, Missing Values, and Text",
  "Version": "1.2.15",
  "Date": "2025-04-02",
  "Authors@R": "c(\nperson(\ngiven = 'Adam B.',\nfamily = 'Smith',\nrole = c('cre', 'aut'),\nemail = 'adam.smith@mobot.org',\ncomment = c(ORCID = '0000-0002-6420-1659')\n)\n)",
  "Maintainer": "Adam B. Smith <adam.smith@mobot.org>",
  "Description": "An assortment of helper functions for managing data (e.g.,\nrotating values in matrices by a user-defined angle, switching\nfrom row- to column-indexing), dates (e.g., intuiting year from\nmessy date strings), handling missing values (e.g., removing\nelements/rows across multiple vectors or matrices if any have\nan NA), text (e.g., flushing reports to the console in\nreal-time); and combining data frames with different schema\n(copying, filling, or concatenating columns or applying\nfunctions before combining).",
  "License": "GPL (>=3)",
  "LazyData": "true",
  "LazyLoad": "yes",
  "URL": "https://github.com/adamlilith/omnibus,\nhttps://adamlilith.github.io/omnibus/",
  "BugReports": "https://github.com/adamlilith/omnibus/issues",
  "Encoding": "UTF-8",
  "RoxygenNote": "7.3.2",
  "Repository": "https://adamlilith.r-universe.dev",
  "Date/Publication": "2025-04-03 02:54:00 UTC",
  "RemoteUrl": "https://github.com/adamlilith/omnibus",
  "RemoteRef": "HEAD",
  "RemoteSha": "403e836eeba693e1b3ce032f62e5771c5a747482",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-16 10:26:19 UTC",
    "User": "root"
  },
  "Author": "Adam B. Smith [cre, aut] (ORCID:\n<https://orcid.org/0000-0002-6420-1659>)",
  "_user": "adamlilith",
  "_type": "src",
  "_file": "omnibus_1.2.15.tar.gz",
  "_fileid": "https://r2.ropensci.org/edbcf10af4299cddec37665a81b0fce0c7773f031dc3ed2695c3875ca37d6e3e",
  "_filesize": 340008,
  "_sha256": "edbcf10af4299cddec37665a81b0fce0c7773f031dc3ed2695c3875ca37d6e3e",
  "_expires": "2026-10-13T03:38:31.000Z",
  "_created": "2026-06-16T10:26:19.000Z",
  "_published": "2026-07-05T03:38:33.534Z",
  "_jobs": [
    {
      "job": 85189875424,
      "time": 144,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7664117103"
    },
    {
      "job": 85189875320,
      "time": 96,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7664101882"
    },
    {
      "job": 85189875461,
      "time": 65,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7664087939"
    },
    {
      "job": 85189875433,
      "time": 97,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7664099392"
    },
    {
      "job": 85189875297,
      "time": 138,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7664063446"
    },
    {
      "job": 85189875404,
      "time": 83,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7664097384"
    },
    {
      "job": 85189875325,
      "time": 157,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7664124013"
    },
    {
      "job": 85189875381,
      "time": 163,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7664124840"
    },
    {
      "job": 85189875349,
      "time": 108,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7664104941"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/adamlilith/actions/runs/27610953348",
  "_status": "success",
  "_upstream": "https://github.com/adamlilith/omnibus",
  "_commit": {
    "id": "403e836eeba693e1b3ce032f62e5771c5a747482",
    "author": "Adam B. Smith <adam.smith@mobot.org>",
    "committer": "GitHub <noreply@github.com>",
    "message": "omnibus 1.2.15 (2024-04-02)\n\nomnibus 1.2.15 (2024-04-02)\n===========\no Added function `runifMatrix()` that creates a random matrix with values standardized by row or column or all values.  \no Added function `screenRes()` which returns the screen resolution in pixels.  \n",
    "time": 1743648840
  },
  "_maintainer": {
    "name": "Adam B. Smith",
    "email": "adam.smith@mobot.org",
    "login": "adamlilith",
    "description": "Global change clairvoyant working in the ecotone between theory and application",
    "uuid": 7577062,
    "orcid": "0000-0002-6420-1659"
  },
  "_distro": "noble",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.5.0",
      "role": "Depends"
    }
  ],
  "_owner": "adamlilith",
  "_selfowned": true,
  "_usedby": 6,
  "_updates": [],
  "_tags": [],
  "_topics": [
    "count-decimals",
    "leap-year",
    "merge-lists",
    "missing-values",
    "rotate-matrix",
    "sampling"
  ],
  "_stars": 4,
  "_contributors": [
    {
      "user": "adamlilith",
      "count": 101,
      "uuid": 7577062
    }
  ],
  "_userbio": {
    "uuid": 7577062,
    "type": "user",
    "name": "Adam B. Smith",
    "followers": 127,
    "description": "Global change clairvoyant working in the ecotone between theory and application"
  },
  "_downloads": {
    "count": 570,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/omnibus"
  },
  "_devurl": "https://github.com/adamlilith/omnibus",
  "_pkgdown": "https://adamlilith.github.io/omnibus/",
  "_searchresults": 88,
  "_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/omnibus.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/adamlilith/omnibus",
  "_realowner": "adamlilith",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.1.2",
      "date": "2022-02-15"
    },
    {
      "version": "1.1.3",
      "date": "2023-01-26"
    },
    {
      "version": "1.2.7",
      "date": "2023-08-22"
    },
    {
      "version": "1.2.8",
      "date": "2023-12-08"
    },
    {
      "version": "1.2.9",
      "date": "2024-01-09"
    },
    {
      "version": "1.2.12",
      "date": "2024-04-07"
    },
    {
      "version": "1.2.13",
      "date": "2024-05-16"
    },
    {
      "version": "1.2.14",
      "date": "2024-09-17"
    },
    {
      "version": "1.2.15",
      "date": "2025-04-03"
    }
  ],
  "_exports": [
    "%!=%",
    "%!=na%",
    "%<%",
    "%<=%",
    "%<=na%",
    "%<na%",
    "%==%",
    "%==na%",
    "%>%",
    "%>=%",
    "%>=na%",
    "%>na%",
    "%notin%",
    "appendLists",
    "bracket",
    "capIt",
    "combineDf",
    "compareFloat",
    "convertUnits",
    "corner",
    "countDecDigits",
    "cull",
    "dirCreate",
    "eps",
    "expandUnits",
    "forwardSlash",
    "insert",
    "insertCol",
    "insertRow",
    "is.wholeNumber",
    "isFALSENA",
    "isLeapYear",
    "isTRUENA",
    "listFiles",
    "longRun",
    "maxRuns",
    "memUse",
    "mergeLists",
    "mirror",
    "mmode",
    "naCompare",
    "naOmitMulti",
    "naRows",
    "notIn",
    "pairDist",
    "pmatchSafe",
    "prefix",
    "quadArea",
    "renameCol",
    "renumSeq",
    "rotateMatrix",
    "roundedSigDigits",
    "roundTo",
    "rowColIndexing",
    "rstring",
    "runifMatrix",
    "say",
    "screenRes",
    "side",
    "stretchMinMax",
    "unlistRecursive",
    "unragMatrix",
    "which.pmax",
    "which.pmin",
    "yearFromDate"
  ],
  "_datasets": [
    {
      "name": "conversionFactors",
      "title": "Data frame or conversion factors for length or areal units",
      "object": "conversionFactors",
      "class": [
        "data.frame"
      ],
      "fields": [
        "from",
        "to",
        "factor"
      ],
      "rows": 100,
      "table": true,
      "tojson": true
    },
    {
      "name": "domLeap",
      "title": "Day of month for leap years",
      "object": "domLeap",
      "class": [
        "data.frame"
      ],
      "fields": [
        "month1",
        "month2",
        "month3",
        "month4",
        "month5",
        "month6",
        "month7",
        "month8",
        "month9",
        "month10",
        "month11",
        "month12"
      ],
      "rows": 31,
      "table": true,
      "tojson": true
    },
    {
      "name": "domNonLeap",
      "title": "Day of month for non-leap years",
      "object": "domNonLeap",
      "class": [
        "data.frame"
      ],
      "fields": [
        "month1",
        "month2",
        "month3",
        "month4",
        "month5",
        "month6",
        "month7",
        "month8",
        "month9",
        "month10",
        "month11",
        "month12"
      ],
      "rows": 31,
      "table": true,
      "tojson": true
    },
    {
      "name": "doyLeap",
      "title": "Day of year for leap years",
      "object": "doyLeap",
      "class": [
        "data.frame"
      ],
      "fields": [
        "month1",
        "month2",
        "month3",
        "month4",
        "month5",
        "month6",
        "month7",
        "month8",
        "month9",
        "month10",
        "month11",
        "month12"
      ],
      "rows": 31,
      "table": true,
      "tojson": true
    },
    {
      "name": "doyNonLeap",
      "title": "Days of year for non-leap years",
      "object": "doyNonLeap",
      "class": [
        "data.frame"
      ],
      "fields": [
        "month1",
        "month2",
        "month3",
        "month4",
        "month5",
        "month6",
        "month7",
        "month8",
        "month9",
        "month10",
        "month11",
        "month12"
      ],
      "rows": 31,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "appendLists",
      "title": "Append values to elements of a list from another list",
      "topics": [
        "appendLists"
      ]
    },
    {
      "page": "bracket",
      "title": "Identify values bracketing another value",
      "topics": [
        "bracket"
      ]
    },
    {
      "page": "capIt",
      "title": "Capitalize first letter of a string",
      "topics": [
        "capIt"
      ]
    },
    {
      "page": "combineDf",
      "title": "Combine data frames with different fields using a crosswalk table",
      "topics": [
        "combineDf"
      ]
    },
    {
      "page": "compareFloat",
      "title": "Compare values to floating-point precision",
      "topics": [
        "%!=%",
        "%<%",
        "%<=%",
        "%==%",
        "%>%",
        "%>=%",
        "compareFloat",
        "`%!=%`",
        "`%<%`",
        "`%<=%`",
        "`%==%`",
        "`%>%`",
        "`%>=%`"
      ]
    },
    {
      "page": "conversionFactors",
      "title": "Data frame or conversion factors for length or areal units",
      "topics": [
        "conversionFactors"
      ]
    },
    {
      "page": "convertUnits",
      "title": "Convert length or areal units",
      "topics": [
        "convertUnits"
      ]
    },
    {
      "page": "corner",
      "title": "Corner of a matrix or data frame",
      "topics": [
        "corner"
      ]
    },
    {
      "page": "countDecDigits",
      "title": "Number of digits after a decimal place",
      "topics": [
        "countDecDigits"
      ]
    },
    {
      "page": "cull",
      "title": "Force objects to have length or rows equal to the shortest",
      "topics": [
        "cull"
      ]
    },
    {
      "page": "dirCreate",
      "title": "Replacement for dir.create()",
      "topics": [
        "dirCreate"
      ]
    },
    {
      "page": "domLeap",
      "title": "Day of month for leap years",
      "topics": [
        "domLeap"
      ]
    },
    {
      "page": "domNonLeap",
      "title": "Day of month for non-leap years",
      "topics": [
        "domNonLeap"
      ]
    },
    {
      "page": "doyLeap",
      "title": "Day of year for leap years",
      "topics": [
        "doyLeap"
      ]
    },
    {
      "page": "doyNonLeap",
      "title": "Days of year for non-leap years",
      "topics": [
        "doyNonLeap"
      ]
    },
    {
      "page": "eps",
      "title": "The smallest machine-readable number",
      "topics": [
        "eps"
      ]
    },
    {
      "page": "expandUnits",
      "title": "Convert unit abbreviations to proper unit names",
      "topics": [
        "expandUnits"
      ]
    },
    {
      "page": "forwardSlash",
      "title": "Replace backslash with forward slash",
      "topics": [
        "forwardSlash"
      ]
    },
    {
      "page": "insert",
      "title": "Insert values into a vector",
      "topics": [
        "insert"
      ]
    },
    {
      "page": "insertCol",
      "title": "Insert a column or row into a data frame or matrix",
      "topics": [
        "insertCol",
        "insertRow"
      ]
    },
    {
      "page": "is.wholeNumber",
      "title": "Test if a numeric value is a whole number",
      "topics": [
        "is.wholeNumber"
      ]
    },
    {
      "page": "isLeapYear",
      "title": "Is a year a leap year?",
      "topics": [
        "isLeapYear"
      ]
    },
    {
      "page": "isTRUENA",
      "title": "Vectorized test for truth robust to NA",
      "topics": [
        "isFALSENA",
        "isTRUENA"
      ]
    },
    {
      "page": "listFiles",
      "title": "Replacement for 'list.files()'",
      "topics": [
        "listFiles"
      ]
    },
    {
      "page": "longRun",
      "title": "Length of the longest run of a particular value in a numeric vector",
      "topics": [
        "longRun"
      ]
    },
    {
      "page": "maxRuns",
      "title": "Maximum number of continuous \"runs\" of values meeting a particular condition",
      "topics": [
        "maxRuns"
      ]
    },
    {
      "page": "memUse",
      "title": "Size of objects taking most memory use",
      "topics": [
        "memUse"
      ]
    },
    {
      "page": "mergeLists",
      "title": "Merge two lists with precedence",
      "topics": [
        "mergeLists"
      ]
    },
    {
      "page": "mirror",
      "title": "Flip an object",
      "topics": [
        "mirror"
      ]
    },
    {
      "page": "mmode",
      "title": "Modal value(s)",
      "topics": [
        "mmode"
      ]
    },
    {
      "page": "naCompare",
      "title": "Compare values using <, <=, >, >=, !=, and == (robust to NAs)",
      "topics": [
        "%!=na%",
        "%<=na%",
        "%<na%",
        "%==na%",
        "%>=na%",
        "%>na%",
        "grapes_less_than_na_grapes",
        "naCompare",
        "`%!=na%`",
        "`%!=na%`,",
        "`%<==%`",
        "`%<=na%`",
        "`%<=na%`,",
        "`%<na%`",
        "`%<na%`,",
        "`%==na%`,",
        "`%>=na%`",
        "`%>na%`",
        "`%>na%`,"
      ]
    },
    {
      "page": "naOmitMulti",
      "title": "Remove NAs from one or more equal-length vectors",
      "topics": [
        "naOmitMulti"
      ]
    },
    {
      "page": "naRows",
      "title": "Index of rows in a data frame or matrix that contain at least one 'NA'",
      "topics": [
        "naRows"
      ]
    },
    {
      "page": "notIn",
      "title": "Opposite of '%in%'",
      "topics": [
        "%notin%",
        "notIn",
        "`%notin%`"
      ]
    },
    {
      "page": "pairDist",
      "title": "Calculate pairwise distances between two matrices or data frames.",
      "topics": [
        "pairDist"
      ]
    },
    {
      "page": "pmatchSafe",
      "title": "Partial matching of strings with error checking",
      "topics": [
        "pmatchSafe"
      ]
    },
    {
      "page": "prefix",
      "title": "Add leading characters to a string",
      "topics": [
        "prefix"
      ]
    },
    {
      "page": "quadArea",
      "title": "Area of a quadrilateral",
      "topics": [
        "quadArea"
      ]
    },
    {
      "page": "renameCol",
      "title": "Rename columns",
      "topics": [
        "renameCol"
      ]
    },
    {
      "page": "renumSeq",
      "title": "Renumber a sequence of numbers",
      "topics": [
        "renumSeq"
      ]
    },
    {
      "page": "rotateMatrix",
      "title": "Rotate values in a matrix",
      "topics": [
        "rotateMatrix"
      ]
    },
    {
      "page": "roundedSigDigits",
      "title": "Number of significant digits in rounded numbers",
      "topics": [
        "roundedSigDigits"
      ]
    },
    {
      "page": "roundTo",
      "title": "Round to nearest target value",
      "topics": [
        "roundTo"
      ]
    },
    {
      "page": "rowColIndexing",
      "title": "Convert between row- and column-style indexing of matrices",
      "topics": [
        "rowColIndexing"
      ]
    },
    {
      "page": "rstring",
      "title": "Make a nearly-guaranteed unique string",
      "topics": [
        "rstring"
      ]
    },
    {
      "page": "runifMatrix",
      "title": "Matrix of random values, possibly with standardization by row or column",
      "topics": [
        "runifMatrix"
      ]
    },
    {
      "page": "say",
      "title": "Nicer version of 'print()' or 'cat()' function",
      "topics": [
        "say"
      ]
    },
    {
      "page": "screenRes",
      "title": "Find screen resolution",
      "topics": [
        "screenRes"
      ]
    },
    {
      "page": "side",
      "title": "Left/right side of a data frame or matrix",
      "topics": [
        "side"
      ]
    },
    {
      "page": "stretchMinMax",
      "title": "Rescale values",
      "topics": [
        "stretchMinMax"
      ]
    },
    {
      "page": "unlistRecursive",
      "title": "For any object in a list that is also a list, unlist it",
      "topics": [
        "unlistRecursive"
      ]
    },
    {
      "page": "unragMatrix",
      "title": "Turn a \"ragged\" matrix into a \"ragged\" vector",
      "topics": [
        "unragMatrix"
      ]
    },
    {
      "page": "which.pmax",
      "title": "Which vector has maximum value at each element",
      "topics": [
        "which.pmax",
        "which.pmin"
      ]
    },
    {
      "page": "yearFromDate",
      "title": "Year from date formats that are possibly ambiguous",
      "topics": [
        "yearFromDate"
      ]
    }
  ],
  "_pkglogo": "https://github.com/adamlilith/omnibus/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/adamlilith/omnibus/raw/HEAD/README.md",
  "_rundeps": [],
  "_score": 5.500785172917456,
  "_indexed": true,
  "_nocasepkg": "omnibus",
  "_universes": [
    "adamlilith"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.2.15",
      "date": "2026-06-16T10:28:46.000Z",
      "distro": "noble",
      "commit": "403e836eeba693e1b3ce032f62e5771c5a747482",
      "fileid": "https://r2.ropensci.org/6f23a9c6c397f7e1175886ed56c177cd47097f517b2b2fa460bbe486c557ccc6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/adamlilith/actions/runs/27610953348"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.2.15",
      "date": "2026-06-16T10:28:08.000Z",
      "distro": "noble",
      "commit": "403e836eeba693e1b3ce032f62e5771c5a747482",
      "fileid": "https://r2.ropensci.org/7f3b91711287403671b68ff62d648d9379b82da9739a3f4e525d985b0e1af5f3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/adamlilith/actions/runs/27610953348"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.2.15",
      "date": "2026-06-16T10:27:33.000Z",
      "commit": "403e836eeba693e1b3ce032f62e5771c5a747482",
      "fileid": "https://r2.ropensci.org/69a32ebbf711e6cad90af79e80eb690a4e3e1d4c6d4eb3edd38a54b4a553b22e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/adamlilith/actions/runs/27610953348"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.2.15",
      "date": "2026-06-16T10:27:58.000Z",
      "commit": "403e836eeba693e1b3ce032f62e5771c5a747482",
      "fileid": "https://r2.ropensci.org/c6209df2669efb45d964fbbf7af0b38fad3be7dbb9dc4ac50ca85eb68d9179b8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/adamlilith/actions/runs/27610953348"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.2.15",
      "date": "2026-06-16T10:28:07.000Z",
      "commit": "403e836eeba693e1b3ce032f62e5771c5a747482",
      "fileid": "https://r2.ropensci.org/f49622d3ce72005ce069407a1a63ccfdcc7c6218a89824861c49b146df350baa",
      "status": "success",
      "buildurl": "https://github.com/r-universe/adamlilith/actions/runs/27610953348"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.2.15",
      "date": "2026-06-16T10:27:25.000Z",
      "commit": "403e836eeba693e1b3ce032f62e5771c5a747482",
      "fileid": "https://r2.ropensci.org/b571b5c61f5b627c48026cfc3d5bdaf76da2239d572ed9c4cb16ee142f5c4c08",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/adamlilith/actions/runs/27610953348"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.2.15",
      "date": "2026-06-16T10:27:44.000Z",
      "commit": "403e836eeba693e1b3ce032f62e5771c5a747482",
      "fileid": "https://r2.ropensci.org/2cc3ce3f889dc084d6a53c5f0ab0b34fed62f19f61391286be863021bf032bbb",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/adamlilith/actions/runs/27610953348"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.2.15",
      "date": "2026-06-16T10:27:21.000Z",
      "commit": "403e836eeba693e1b3ce032f62e5771c5a747482",
      "fileid": "https://r2.ropensci.org/d1deb0e7e5e5b36b24addf2945d363357bd1864075053ee3bbf5ac896327da25",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/adamlilith/actions/runs/27610953348"
    }
  ]
}