{
  "_id": "6a1f1570b401979e7341e56d",
  "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-05-17 06:40:44 UTC",
    "User": "root"
  },
  "Author": "Adam B. Smith [cre, aut] (ORCID:\n<https://orcid.org/0000-0002-6420-1659>)",
  "MD5sum": "68b1998310ee11927e28bea6ee5c1b52",
  "_user": "adamlilith",
  "_type": "src",
  "_file": "omnibus_1.2.15.tar.gz",
  "_fileid": "f92351047ff372592bd83c54f6c9e14fe4d0216cb11124c7cf8eafe05ae12a29",
  "_filesize": 337462,
  "_sha256": "f92351047ff372592bd83c54f6c9e14fe4d0216cb11124c7cf8eafe05ae12a29",
  "_created": "2026-05-17T06:40:44.000Z",
  "_published": "2026-06-02T17:40:00.923Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79134192030,
      "time": 108,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7040088748"
    },
    {
      "job": 79134192152,
      "time": 113,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7040088308"
    },
    {
      "job": 79134191867,
      "time": 164,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7040091006"
    },
    {
      "job": 79134191967,
      "time": 109,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7040087002"
    },
    {
      "job": 79134192146,
      "time": 131,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7040076986"
    },
    {
      "job": 79134191449,
      "time": 93,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7365365976"
    },
    {
      "job": 79134192536,
      "time": 152,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7040093889"
    },
    {
      "job": 79134192302,
      "time": 110,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7040089180"
    },
    {
      "job": 79134192034,
      "time": 111,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7040089187"
    }
  ],
  "_buildurl": "https://github.com/r-universe/adamlilith/actions/runs/25983694135",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_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"
  },
  "_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",
    "description": "Global change clairvoyant working in the ecotone between theory and application"
  },
  "_downloads": {
    "count": 554,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/omnibus"
  },
  "_devurl": "https://github.com/adamlilith/omnibus",
  "_pkgdown": "https://adamlilith.github.io/omnibus/",
  "_searchresults": 85,
  "_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.485721426481581,
  "_indexed": true,
  "_nocasepkg": "omnibus",
  "_universes": [
    "adamlilith"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.2.15",
      "date": "2026-05-17T06:42:39.000Z",
      "distro": "noble",
      "commit": "403e836eeba693e1b3ce032f62e5771c5a747482",
      "fileid": "7c425537be855788b2610d4e564abcd510b525853f82d744a14c1ec4e4022456",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/adamlilith/actions/runs/25983694135"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.2.15",
      "date": "2026-05-17T06:42:33.000Z",
      "distro": "noble",
      "commit": "403e836eeba693e1b3ce032f62e5771c5a747482",
      "fileid": "202be8678aacd0c3c6767e4f56aab4d786d7bf1f251579b4c712974c15098eab",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/adamlilith/actions/runs/25983694135"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.2.15",
      "date": "2026-05-17T06:43:01.000Z",
      "commit": "403e836eeba693e1b3ce032f62e5771c5a747482",
      "fileid": "297c19a13867c011eb4373506d48926ba32348782d4b9819d94a9a7423f931d3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/adamlilith/actions/runs/25983694135"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.2.15",
      "date": "2026-05-17T06:42:25.000Z",
      "commit": "403e836eeba693e1b3ce032f62e5771c5a747482",
      "fileid": "cf84d30d8654d694167cfe502c3060b9b74cb5147031b8edc05a46a6c9dcbd31",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/adamlilith/actions/runs/25983694135"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.2.15",
      "date": "2026-05-17T06:42:08.000Z",
      "commit": "403e836eeba693e1b3ce032f62e5771c5a747482",
      "fileid": "bf0bd1f9e6b3c6db8cdd8bdfddbded584ed8aac021dd551291ffb72b35aed0ef",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/adamlilith/actions/runs/25983694135"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.2.15",
      "date": "2026-05-17T06:42:00.000Z",
      "commit": "403e836eeba693e1b3ce032f62e5771c5a747482",
      "fileid": "4d7fb4fc2307bfbb86fddf25386b6833fe74b9fa2a6a9fa4bc1205487f35937a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/adamlilith/actions/runs/25983694135"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.2.15",
      "date": "2026-05-17T06:41:48.000Z",
      "commit": "403e836eeba693e1b3ce032f62e5771c5a747482",
      "fileid": "5b1bb0c8a0a37f8d22de709d830116fc3eb614ddc3e476672f26d2450b80daff",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/adamlilith/actions/runs/25983694135"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.2.15",
      "date": "2026-06-02T17:39:41.000Z",
      "commit": "403e836eeba693e1b3ce032f62e5771c5a747482",
      "fileid": "220ed6e06d0a997435f8a3efed7500095c89ab3c5c8d4bd3df7008b56fec9435",
      "status": "success",
      "buildurl": "https://github.com/r-universe/adamlilith/actions/runs/25983694135"
    }
  ]
}