{
  "_id": "6a1541e8acfb0bcc41d56167",
  "Package": "useful",
  "Type": "Package",
  "Title": "A Collection of Handy, Useful Functions",
  "Version": "1.2.7",
  "Date": "2026-02-25",
  "Authors@R": "c(\nperson(c(\"Jared\", \"P.\"), \"Lander\", email = \"packages@jaredlander.com\", role = c(\"cre\", \"aut\")),\nperson(\"Nicholas\", \"Galasinao\", email = \"nicholas.galasinao@gmail.com\", role = \"ctb\"),\nperson(\"Joshua\", \"Kraut\", email = \"joshua.kraut@gmail.com\", role = \"ctb\"),\nperson(\"Daniel\", \"Chen\", email = \"dcheny@gmail.com\", role = \"ctb\"))",
  "Description": "A set of little functions that have been found useful to\ndo little odds and ends such as plotting the results of K-means\nclustering, substituting special text characters, viewing parts\nof a data.frame, constructing formulas from text and building\ndesign and response matrices.",
  "License": "BSD_3_clause + file LICENSE",
  "LazyLoad": "yes",
  "ByteCompile": "TRUE",
  "URL": "https://github.com/jaredlander/useful",
  "BugReports": "https://github.com/jaredlander/useful/issues",
  "RoxygenNote": "7.3.2",
  "Encoding": "UTF-8",
  "Repository": "https://jaredlander.r-universe.dev",
  "Date/Publication": "2026-02-25 17:47:58 UTC",
  "RemoteUrl": "https://github.com/jaredlander/useful",
  "RemoteRef": "HEAD",
  "RemoteSha": "ee1cf0bf74e7187b840990cf0aa341c3bcf580fb",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-26 06:43:45 UTC",
    "User": "root"
  },
  "Author": "Jared P. Lander [cre, aut],\nNicholas Galasinao [ctb],\nJoshua Kraut [ctb],\nDaniel Chen [ctb]",
  "Maintainer": "Jared P. Lander <packages@jaredlander.com>",
  "MD5sum": "fa7da045fd1a21ebb7ecde5e104e9fb4",
  "_user": "jaredlander",
  "_type": "src",
  "_file": "useful_1.2.7.tar.gz",
  "_fileid": "f2c40ed863b04014f2cffda2932de5cfabb072f28b81e7d715f99186f9ef8706",
  "_filesize": 260290,
  "_sha256": "f2c40ed863b04014f2cffda2932de5cfabb072f28b81e7d715f99186f9ef8706",
  "_created": "2026-05-26T06:43:45.000Z",
  "_published": "2026-05-26T06:47:04.590Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77821320685,
      "time": 160,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7210553239"
    },
    {
      "job": 77821320706,
      "time": 166,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7210554790"
    },
    {
      "job": 77821320718,
      "time": 102,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7210539624"
    },
    {
      "job": 77821320678,
      "time": 133,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7210546671"
    },
    {
      "job": 77820973323,
      "time": 172,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7210515155"
    },
    {
      "job": 77821320671,
      "time": 100,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7210538920"
    },
    {
      "job": 77821320704,
      "time": 110,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7210541327"
    },
    {
      "job": 77821320687,
      "time": 112,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7210542020"
    },
    {
      "job": 77821320681,
      "time": 106,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7210540359"
    }
  ],
  "_buildurl": "https://github.com/r-universe/jaredlander/actions/runs/26436660803",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/jaredlander/useful",
  "_commit": {
    "id": "ee1cf0bf74e7187b840990cf0aa341c3bcf580fb",
    "author": "Jared Lander <info@jaredlander.com>",
    "committer": "Jared Lander <info@jaredlander.com>",
    "message": "Adding CRAN-SUMISSION file\n",
    "time": 1772041678
  },
  "_maintainer": {
    "name": "Jared P. Lander",
    "email": "packages@jaredlander.com",
    "login": "jaredlander",
    "twitter": "@jaredlander",
    "description": "",
    "uuid": 628977
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "ggplot2",
      "role": "Depends"
    },
    {
      "package": "plyr",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "version": ">= 0.5.0",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "version": ">= 0.1.0",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "scales",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "Matrix",
      "role": "Imports"
    },
    {
      "package": "assertthat",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "role": "Suggests"
    },
    {
      "package": "covr",
      "role": "Suggests"
    }
  ],
  "_owner": "jaredlander",
  "_selfowned": true,
  "_usedby": 5,
  "_updates": [
    {
      "week": "2026-08",
      "n": 2
    },
    {
      "week": "2026-09",
      "n": 6
    }
  ],
  "_tags": [],
  "_stars": 8,
  "_contributors": [
    {
      "user": "jaredlander",
      "count": 218,
      "uuid": 628977
    },
    {
      "user": "oswoll",
      "count": 15,
      "uuid": 5114612
    },
    {
      "user": "chendaniely",
      "count": 2,
      "uuid": 5782147
    },
    {
      "user": "jkraut",
      "count": 2,
      "uuid": 5432519
    },
    {
      "user": "davisvaughan",
      "count": 1,
      "uuid": 19150088
    }
  ],
  "_userbio": {
    "uuid": 628977,
    "type": "user",
    "name": "Jared Lander"
  },
  "_downloads": {
    "count": 2613,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/useful"
  },
  "_mentions": 1,
  "_devurl": "https://github.com/jaredlander/useful",
  "_searchresults": 834,
  "_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/useful.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/jaredlander/useful",
  "_realowner": "jaredlander",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.0",
      "date": "2011-10-27"
    },
    {
      "version": "1.1.1",
      "date": "2011-11-19"
    },
    {
      "version": "1.1.2",
      "date": "2012-01-04"
    },
    {
      "version": "1.1.3",
      "date": "2012-03-12"
    },
    {
      "version": "1.1.4",
      "date": "2012-03-20"
    },
    {
      "version": "1.1.5",
      "date": "2012-06-15"
    },
    {
      "version": "1.1.6",
      "date": "2012-09-29"
    },
    {
      "version": "1.1.8",
      "date": "2014-01-20"
    },
    {
      "version": "1.1.9",
      "date": "2015-09-22"
    },
    {
      "version": "1.2.0",
      "date": "2016-01-10"
    },
    {
      "version": "1.2.1",
      "date": "2016-06-29"
    },
    {
      "version": "1.2.2",
      "date": "2017-05-25"
    },
    {
      "version": "1.2.3",
      "date": "2017-06-07"
    },
    {
      "version": "1.2.4",
      "date": "2018-05-21"
    },
    {
      "version": "1.2.5",
      "date": "2018-06-09"
    },
    {
      "version": "1.2.6",
      "date": "2018-10-08"
    },
    {
      "version": "1.2.6.1",
      "date": "2023-10-24"
    },
    {
      "version": "1.2.7",
      "date": "2026-02-26"
    }
  ],
  "_exports": [
    "binary.flip",
    "bottomleft",
    "bottomright",
    "build.formula",
    "build.x",
    "build.y",
    "cart2pol",
    "classdf",
    "colsToBack",
    "colsToFront",
    "compare.list",
    "constant",
    "corner",
    "find.case",
    "FitKMeans",
    "fortify.kmeans",
    "indexToPosition",
    "interval.check",
    "left",
    "lower.case",
    "mapping",
    "MapToInterval",
    "mixed.case",
    "moveToBack",
    "moveToFront",
    "multiple",
    "multiple_format",
    "multiple.comma",
    "multiple.dollar",
    "multiple.identity",
    "numeric.case",
    "plot.kmeans",
    "PlotHartigan",
    "plotTimesSeries",
    "pol2cart",
    "positionToIndex",
    "reclass",
    "reclass<-",
    "right",
    "shift.column",
    "simple.impute",
    "simple.impute.data.frame",
    "simple.impute.default",
    "subMultiple",
    "subOut",
    "subSpecials",
    "subVector",
    "timeSingle",
    "topleft",
    "topright",
    "ts.plotter",
    "uniqueBidirection",
    "upper.case",
    "vplayout"
  ],
  "_help": [
    {
      "page": "autoplot.acf",
      "title": "autoplot.acf",
      "topics": [
        "autoplot.acf"
      ]
    },
    {
      "page": "binary.flip",
      "title": "binary.flip",
      "topics": [
        "binary.flip"
      ]
    },
    {
      "page": "bottomleft",
      "title": "Grabs the bottom left corner of a data set",
      "topics": [
        "bottomleft"
      ]
    },
    {
      "page": "bottomright",
      "title": "Grabs the bottom right corner of a data set",
      "topics": [
        "bottomright"
      ]
    },
    {
      "page": "build.formula",
      "title": "Formula Builder",
      "topics": [
        "build.formula"
      ]
    },
    {
      "page": "build.x",
      "title": "build.x",
      "topics": [
        "build.x"
      ]
    },
    {
      "page": "build.y",
      "title": "build.y",
      "topics": [
        "build.y"
      ]
    },
    {
      "page": "cart2pol",
      "title": "cart2pol",
      "topics": [
        "cart2pol"
      ]
    },
    {
      "page": "classdf",
      "title": "classdf",
      "topics": [
        "classdf"
      ]
    },
    {
      "page": "colsToFront",
      "title": "colsToFront",
      "topics": [
        "colsToBack",
        "colsToFront"
      ]
    },
    {
      "page": "compare.list",
      "title": "List Comparison",
      "topics": [
        "compare.list"
      ]
    },
    {
      "page": "ComputeHartigan",
      "title": "Compute Hartigan's Number",
      "topics": [
        "ComputeHartigan"
      ]
    },
    {
      "page": "constant",
      "title": "constant",
      "topics": [
        "constant"
      ]
    },
    {
      "page": "corner",
      "title": "corner",
      "topics": [
        "corner",
        "corner.data.frame",
        "corner.default",
        "corner.matrix",
        "corner.table"
      ]
    },
    {
      "page": "find.case",
      "title": "find.case",
      "topics": [
        "find.case"
      ]
    },
    {
      "page": "FitKMeans",
      "title": "Fit a series of kmeans clusterings and compute Hartigan's Number",
      "topics": [
        "FitKMeans"
      ]
    },
    {
      "page": "ForceDataFrame",
      "title": "ForceDataFrame",
      "topics": [
        "ForceDataFrame"
      ]
    },
    {
      "page": "fortify.acf",
      "title": "fortify.acf",
      "topics": [
        "fortify.acf"
      ]
    },
    {
      "page": "fortify.kmeans",
      "title": "fortify.kmeans",
      "topics": [
        "fortify.kmeans"
      ]
    },
    {
      "page": "fortify.ts",
      "title": "fortify.ts",
      "topics": [
        "fortify.ts"
      ]
    },
    {
      "page": "indexToPosition",
      "title": "indexToPosition",
      "topics": [
        "indexToPosition"
      ]
    },
    {
      "page": "interval.check",
      "title": "interval.check",
      "topics": [
        "interval.check"
      ]
    },
    {
      "page": "left",
      "title": "Grabs the left side of a data set",
      "topics": [
        "left"
      ]
    },
    {
      "page": "lower.case",
      "title": "lower.case",
      "topics": [
        "lower.case"
      ]
    },
    {
      "page": "MapToInterval",
      "title": "Map numbers to interval",
      "topics": [
        "mapping",
        "MapToInterval"
      ]
    },
    {
      "page": "mixed.case",
      "title": "mixed.case",
      "topics": [
        "mixed.case"
      ]
    },
    {
      "page": "moveToFront",
      "title": "moveToFront",
      "topics": [
        "moveToBack",
        "moveToFront"
      ]
    },
    {
      "page": "multiple",
      "title": "multiple",
      "topics": [
        "multiple"
      ]
    },
    {
      "page": "multiple_format",
      "title": "multiple_format",
      "topics": [
        "multiple_format"
      ]
    },
    {
      "page": "multiple.comma",
      "title": "multiple.comma",
      "topics": [
        "multiple.comma"
      ]
    },
    {
      "page": "multiple.dollar",
      "title": "multiple.dollar",
      "topics": [
        "multiple.dollar"
      ]
    },
    {
      "page": "multiple.identity",
      "title": "multiple.identity",
      "topics": [
        "multiple.identity"
      ]
    },
    {
      "page": "numeric.case",
      "title": "numeric.case",
      "topics": [
        "numeric.case"
      ]
    },
    {
      "page": "plot.acf",
      "title": "plot.acf",
      "topics": [
        "plot.acf"
      ]
    },
    {
      "page": "plot.kmeans",
      "title": "plot.kmeans",
      "topics": [
        "plot.kmeans"
      ]
    },
    {
      "page": "PlotHartigan",
      "title": "Plot a series of Hartigan's Numbers",
      "topics": [
        "PlotHartigan"
      ]
    },
    {
      "page": "plotTimesSeries",
      "title": "plotTimesSeries",
      "topics": [
        "plot.times.series",
        "plotTimesSeries"
      ]
    },
    {
      "page": "pol2cart",
      "title": "pol2cart",
      "topics": [
        "pol2cart"
      ]
    },
    {
      "page": "positionToIndex",
      "title": "positionToIndex",
      "topics": [
        "positionToIndex"
      ]
    },
    {
      "page": "reclass",
      "title": "reclass",
      "topics": [
        "reclass",
        "reclass<-"
      ]
    },
    {
      "page": "right",
      "title": "Grabs the right side of a data set",
      "topics": [
        "right"
      ]
    },
    {
      "page": "shift.column",
      "title": "shift.column",
      "topics": [
        "shift.column"
      ]
    },
    {
      "page": "simple.impute",
      "title": "simple.impute",
      "topics": [
        "simple.impute"
      ]
    },
    {
      "page": "simple.impute.data.frame",
      "title": "simple.impute.data.frame",
      "topics": [
        "simple.impute.data.frame"
      ]
    },
    {
      "page": "simple.impute.default",
      "title": "simple.impute.default",
      "topics": [
        "simple.impute.default"
      ]
    },
    {
      "page": "simple.impute.tbl_df",
      "title": "simple.impute.tbl_df",
      "topics": [
        "simple.impute.tbl_df"
      ]
    },
    {
      "page": "subOut",
      "title": "Sub special characters out of a character vector.",
      "topics": [
        "subOut"
      ]
    },
    {
      "page": "subSpecials",
      "title": "Sub special characters out of character vectors.",
      "topics": [
        "subSpecials"
      ]
    },
    {
      "page": "subMultiple",
      "title": "subVector",
      "topics": [
        "subMultiple",
        "subVector"
      ]
    },
    {
      "page": "timeSingle",
      "title": "timeSingle",
      "topics": [
        "timeSingle"
      ]
    },
    {
      "page": "topleft",
      "title": "Grabs the top left corner of a data set",
      "topics": [
        "topleft"
      ]
    },
    {
      "page": "topright",
      "title": "Grabs the top right corner of a data set",
      "topics": [
        "topright"
      ]
    },
    {
      "page": "ts.plotter",
      "title": "ts.plotter",
      "topics": [
        "ts.plotter"
      ]
    },
    {
      "page": "uniqueBidirection",
      "title": "uniqueBidirection",
      "topics": [
        "uniqueBidirection"
      ]
    },
    {
      "page": "upper.case",
      "title": "upper.case",
      "topics": [
        "upper.case"
      ]
    },
    {
      "page": "vplayout",
      "title": "vplayout",
      "topics": [
        "vplayout"
      ]
    },
    {
      "page": "WhichCorner",
      "title": "WhichCorner",
      "topics": [
        "WhichCorner"
      ]
    }
  ],
  "_readme": "https://github.com/jaredlander/useful/raw/HEAD/README.md",
  "_rundeps": [
    "assertthat",
    "cli",
    "cpp11",
    "dplyr",
    "farver",
    "generics",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "labeling",
    "lattice",
    "lifecycle",
    "magrittr",
    "Matrix",
    "pillar",
    "pkgconfig",
    "plyr",
    "purrr",
    "R6",
    "RColorBrewer",
    "Rcpp",
    "rlang",
    "S7",
    "scales",
    "tibble",
    "tidyselect",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_score": 8.019546697740653,
  "_indexed": true,
  "_nocasepkg": "useful",
  "_universes": [
    "jaredlander"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.2.7",
      "date": "2026-05-26T06:45:55.000Z",
      "distro": "noble",
      "commit": "ee1cf0bf74e7187b840990cf0aa341c3bcf580fb",
      "fileid": "59e778632503672a0ac2306a7196aed126f4bb3a478f84e39974520d2862d38c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jaredlander/actions/runs/26436660803"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.2.7",
      "date": "2026-05-26T06:45:57.000Z",
      "distro": "noble",
      "commit": "ee1cf0bf74e7187b840990cf0aa341c3bcf580fb",
      "fileid": "8d9c448d157e1a1764846ecc654cb30bb1e34d647636add4647fd259b22da702",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jaredlander/actions/runs/26436660803"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.2.7",
      "date": "2026-05-26T06:45:16.000Z",
      "commit": "ee1cf0bf74e7187b840990cf0aa341c3bcf580fb",
      "fileid": "62eaf4ae974956ee2965635cd1847a2e7b92e77063a88179c31bb7890b191ca5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jaredlander/actions/runs/26436660803"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.2.7",
      "date": "2026-05-26T06:45:38.000Z",
      "commit": "ee1cf0bf74e7187b840990cf0aa341c3bcf580fb",
      "fileid": "d12c96dc9752f2e8a6b4efd656a25596c34936d70bb7f03ff93bc5e47ece77ce",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jaredlander/actions/runs/26436660803"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.2.7",
      "date": "2026-05-26T06:45:44.000Z",
      "commit": "ee1cf0bf74e7187b840990cf0aa341c3bcf580fb",
      "fileid": "b7c424030c9e1dfa17f1ce02cd5fd40a95a9f8a3e2c65a273e3e9621e21f8ee0",
      "status": "success",
      "buildurl": "https://github.com/r-universe/jaredlander/actions/runs/26436660803"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.2.7",
      "date": "2026-05-26T06:44:58.000Z",
      "commit": "ee1cf0bf74e7187b840990cf0aa341c3bcf580fb",
      "fileid": "ee28d673d643532e870916b16b5d6f0c81789c68091d36c460673a2dda81a222",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jaredlander/actions/runs/26436660803"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.2.7",
      "date": "2026-05-26T06:45:00.000Z",
      "commit": "ee1cf0bf74e7187b840990cf0aa341c3bcf580fb",
      "fileid": "c2c37fe2a26db2c38aaad276998f4cb6c37790eddf34264f1b084e524f96ce69",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jaredlander/actions/runs/26436660803"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.2.7",
      "date": "2026-05-26T06:44:54.000Z",
      "commit": "ee1cf0bf74e7187b840990cf0aa341c3bcf580fb",
      "fileid": "0dc8ea63f33800ebba3e1b07a2d77dfcf1a69c5837b156a8199ad61a90509dd0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jaredlander/actions/runs/26436660803"
    }
  ]
}