{
  "_id": "6a47d7f5e06c18f0a652115f",
  "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-07-03 15:36:26 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>",
  "_user": "jaredlander",
  "_type": "src",
  "_file": "useful_1.2.7.tar.gz",
  "_fileid": "https://r2.ropensci.org/18628a5315ddee3ebf0639f54d089216f2142d3e5dfd279a6f303e887a3b69d4",
  "_filesize": 261972,
  "_sha256": "18628a5315ddee3ebf0639f54d089216f2142d3e5dfd279a6f303e887a3b69d4",
  "_expires": "2026-10-11T15:40:35.000Z",
  "_created": "2026-07-03T15:36:26.000Z",
  "_published": "2026-07-03T15:40:37.282Z",
  "_jobs": [
    {
      "job": 85031731899,
      "time": 208,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8070381037"
    },
    {
      "job": 85031731862,
      "time": 160,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8070366487"
    },
    {
      "job": 85031731889,
      "time": 130,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8070363076"
    },
    {
      "job": 85031731872,
      "time": 128,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8070363208"
    },
    {
      "job": 85031297239,
      "time": 166,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8070317448"
    },
    {
      "job": 85031731860,
      "time": 136,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8070359044"
    },
    {
      "job": 85031731875,
      "time": 111,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8070351925"
    },
    {
      "job": 85031731880,
      "time": 108,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8070350800"
    },
    {
      "job": 85031731873,
      "time": 124,
      "config": "windows-release",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8070356524"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/jaredlander/actions/runs/28670119693",
  "_status": "success",
  "_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
  },
  "_distro": "resolute",
  "_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",
    "followers": 287
  },
  "_downloads": {
    "count": 1925,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/useful"
  },
  "_mentions": 1,
  "_devurl": "https://github.com/jaredlander/useful",
  "_searchresults": 834,
  "_rbuild": "4.6.1",
  "_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",
    "LICENSE",
    "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": 7.886838021857846,
  "_indexed": true,
  "_nocasepkg": "useful",
  "_universes": [
    "jaredlander"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.2.7",
      "date": "2026-07-03T15:39:30.000Z",
      "distro": "resolute",
      "commit": "ee1cf0bf74e7187b840990cf0aa341c3bcf580fb",
      "fileid": "https://r2.ropensci.org/b58ccfab8075090864029ec93ceaf8a6c62c4526f638cec2f39f146455b70b81",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jaredlander/actions/runs/28670119693"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.2.7",
      "date": "2026-07-03T15:38:40.000Z",
      "distro": "resolute",
      "commit": "ee1cf0bf74e7187b840990cf0aa341c3bcf580fb",
      "fileid": "https://r2.ropensci.org/82a0bf8b1c04c3e9abeebd0581e4530741eeb7546e384cf9981aedcf43593297",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jaredlander/actions/runs/28670119693"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.2.7",
      "date": "2026-07-03T15:38:36.000Z",
      "commit": "ee1cf0bf74e7187b840990cf0aa341c3bcf580fb",
      "fileid": "https://r2.ropensci.org/c8509b68255bb7448e6001f34ea8c443e8078da6a8e1b3b287d7b0ce6e3aa6f0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jaredlander/actions/runs/28670119693"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.2.7",
      "date": "2026-07-03T15:38:36.000Z",
      "commit": "ee1cf0bf74e7187b840990cf0aa341c3bcf580fb",
      "fileid": "https://r2.ropensci.org/b9378b25aa4f0263d528e1804a77e86732fe999c325417c8abaa4d6fcf87c9db",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jaredlander/actions/runs/28670119693"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.2.7",
      "date": "2026-07-03T15:39:02.000Z",
      "commit": "ee1cf0bf74e7187b840990cf0aa341c3bcf580fb",
      "fileid": "https://r2.ropensci.org/705004248f5f7172006ee5032c64da2bfe4480408a3f62a4e45e15801fe6ee25",
      "status": "success",
      "buildurl": "https://github.com/r-universe/jaredlander/actions/runs/28670119693"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.2.7",
      "date": "2026-07-03T15:37:40.000Z",
      "commit": "ee1cf0bf74e7187b840990cf0aa341c3bcf580fb",
      "fileid": "https://r2.ropensci.org/73b41d030044fa222d13e71debd0b9ce7e73cce1e4ccfdf65ef4a7c61acfcb91",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jaredlander/actions/runs/28670119693"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.2.7",
      "date": "2026-07-03T15:37:40.000Z",
      "commit": "ee1cf0bf74e7187b840990cf0aa341c3bcf580fb",
      "fileid": "https://r2.ropensci.org/2dda8b885c63c4d626cdd52dbd78c9514428d438476f6d16e3b759613de21e22",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jaredlander/actions/runs/28670119693"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.2.7",
      "date": "2026-07-03T15:37:54.000Z",
      "commit": "ee1cf0bf74e7187b840990cf0aa341c3bcf580fb",
      "fileid": "https://r2.ropensci.org/3d75d0b779b691c50b64e7960b6339431ded934d1a6bfe8737893a1653ec4476",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jaredlander/actions/runs/28670119693"
    }
  ]
}