{
  "_id": "6a114a74acfb0bcc41ce8646",
  "Package": "kutils",
  "Type": "Package",
  "Title": "Project Management Tools",
  "Version": "1.73",
  "Date": "2023-09-17",
  "Encoding": "UTF-8",
  "Authors@R": "c(person(\"Paul\",\"Johnson\",email=\"pauljohn@ku.edu\",role = c(\"aut\", \"cre\")),\nperson(\"Benjamin\",\"Kite\",email=\"bakite@ku.edu\",role=\"aut\"),\nperson(\"Charles\",\"Redmon\",email=\"redmon@ku.edu\",role=\"aut\"),\nperson(\"Jared\",\"Harpole\",email=\"jared.harpole@gmail.com\", role=\"ctb\"),\nperson(\"Kenna\",\"Whitley\",role=\"ctb\"),\nperson(\"Po-Yi\",\"Chen\",role=\"ctb\"),\nperson(\"Shadi\", \"Pirhosseinloo\",role=\"ctb\"))",
  "Maintainer": "Paul Johnson <pauljohn@ku.edu>",
  "Description": "Tools for data importation, recoding, and inspection.\nThere are functions to create new project folders, R code\ntemplates, create uniquely named output directories, and to\nquickly obtain a visual summary for each variable in a data\nframe.  The main feature here is the systematic implementation\nof the \"variable key\" framework for data importation and\nrecoding.  We are eager to have community feedback about the\nvariable key and the vignette about it. In version 1.7, the\nfunction 'semTable' is removed. It was deprecated since 1.67.\nThat is provided in a separate package, 'semTable'.",
  "License": "GPL-2",
  "RoxygenNote": "7.2.3",
  "LazyData": "TRUE",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-23 06:31:48 UTC",
    "User": "root"
  },
  "Author": "Paul Johnson [aut, cre], Benjamin Kite [aut], Charles Redmon\n[aut], Jared Harpole [ctb], Kenna Whitley [ctb], Po-Yi Chen\n[ctb], Shadi Pirhosseinloo [ctb]",
  "Config/pak/sysreqs": "libicu-dev",
  "Repository": "https://pauljohn32.r-universe.dev",
  "Date/Publication": "2023-09-17 17:30:32 UTC",
  "RemoteUrl": "https://github.com/cran/kutils",
  "RemoteRef": "HEAD",
  "RemoteSha": "cec4bcd983f84aeb6700b33ff71c0d0100c40c15",
  "MD5sum": "8a4e41f1bbc5865494ee7aac62d1b0cb",
  "_user": "pauljohn32",
  "_type": "src",
  "_file": "kutils_1.73.tar.gz",
  "_fileid": "ad509c5a351b2dfed9a120c313b6a9f633c4cf2288fd4495042e7bf2877bf5cb",
  "_filesize": 848948,
  "_sha256": "ad509c5a351b2dfed9a120c313b6a9f633c4cf2288fd4495042e7bf2877bf5cb",
  "_created": "2026-05-23T06:31:48.000Z",
  "_published": "2026-05-23T06:34:28.192Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77503365090,
      "time": 123,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "7174960411"
    },
    {
      "job": 77503365089,
      "time": 127,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7174960738"
    },
    {
      "job": 77503365092,
      "time": 78,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "7174956043"
    },
    {
      "job": 77503365118,
      "time": 79,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7174956117"
    },
    {
      "job": 77503237103,
      "time": 141,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7174948264"
    },
    {
      "job": 77503365086,
      "time": 112,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7174959315"
    },
    {
      "job": 77503365100,
      "time": 95,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "7174957789"
    },
    {
      "job": 77503365104,
      "time": 82,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "7174956573"
    },
    {
      "job": 77503365114,
      "time": 81,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7174956386"
    }
  ],
  "_buildurl": "https://github.com/r-universe/pauljohn32/actions/runs/26325794445",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/cran/kutils",
  "_commit": {
    "id": "cec4bcd983f84aeb6700b33ff71c0d0100c40c15",
    "author": "Paul Johnson <pauljohn@ku.edu>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 1.73\n",
    "time": 1694971832
  },
  "_maintainer": {
    "name": "Paul Johnson",
    "email": "pauljohn@ku.edu",
    "login": "pauljohn32",
    "description": "",
    "uuid": 344033
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.3.0",
      "role": "Depends"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "foreign",
      "role": "Imports"
    },
    {
      "package": "xtable",
      "role": "Imports"
    },
    {
      "package": "plyr",
      "role": "Imports"
    },
    {
      "package": "openxlsx",
      "role": "Imports"
    },
    {
      "package": "RUnit",
      "role": "Imports"
    },
    {
      "package": "rockchalk",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": true,
  "_usedby": 25,
  "_updates": [],
  "_tags": [],
  "_stars": 0,
  "_contributors": [
    {
      "user": "pauljohn32",
      "count": 13,
      "uuid": 344033
    }
  ],
  "_userbio": {
    "uuid": 344033,
    "type": "user",
    "name": "Paul E. Johnson"
  },
  "_downloads": {
    "count": 17936,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/kutils"
  },
  "_searchresults": 84,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/kutils.html",
    "manual.pdf"
  ],
  "_realowner": "pauljohn32",
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.91",
      "date": "2016-12-22"
    },
    {
      "version": "0.93",
      "date": "2017-01-26"
    },
    {
      "version": "1.0",
      "date": "2017-05-19"
    },
    {
      "version": "1.34",
      "date": "2018-01-10"
    },
    {
      "version": "1.39",
      "date": "2018-04-19"
    },
    {
      "version": "1.45",
      "date": "2018-05-19"
    },
    {
      "version": "1.60",
      "date": "2019-01-23"
    },
    {
      "version": "1.64",
      "date": "2019-02-19"
    },
    {
      "version": "1.67",
      "date": "2019-03-04"
    },
    {
      "version": "1.69",
      "date": "2019-05-12"
    },
    {
      "version": "1.70",
      "date": "2020-04-29"
    },
    {
      "version": "1.72",
      "date": "2023-06-27"
    },
    {
      "version": "1.73",
      "date": "2023-09-17"
    }
  ],
  "_exports": [
    "alphaOnly",
    "assignMissing",
    "assignRecode",
    "checkCoercion",
    "cleanDataFrame",
    "colnamesReplace",
    "deduper",
    "deleteBogusColumns",
    "deleteBogusRows",
    "dev.create",
    "dir.create.unique",
    "dms",
    "dts",
    "escape",
    "file.backup",
    "importQualtrics",
    "initProject",
    "is.data.frame.simple",
    "isNA",
    "keyApply",
    "keyCheck",
    "keyDiff",
    "keyImport",
    "keyLookup",
    "keyRead",
    "keySave",
    "keysPool",
    "keysPoolCheck",
    "keyTemplate",
    "keyTemplateSPSS",
    "keyTemplateStata",
    "keyUpdate",
    "likert",
    "long2wide",
    "mergeCheck",
    "mgsub",
    "modifyVector",
    "n2NA",
    "padW0",
    "peek",
    "qualtricsBlockStack",
    "removeMatches",
    "reverse",
    "safeInteger",
    "shorten",
    "starsig",
    "stringbreak",
    "truncsmart",
    "updatePackages",
    "varlabTemplate",
    "wide2long",
    "writeCSV",
    "zapspace"
  ],
  "_datasets": [
    {
      "name": "natlongsurv",
      "title": "Smoking, Happiness, and other survey responses",
      "object": "natlongsurv",
      "class": [
        "data.frame"
      ],
      "fields": [
        "R0000100",
        "R0003300",
        "R0005700",
        "R0060300",
        "R1051600",
        "R1302000",
        "R1302100",
        "R1303400",
        "R6235600",
        "R6502300",
        "R6513700",
        "R6516200",
        "R6520300",
        "R6553600",
        "R7289200",
        "R7289400",
        "R7293430",
        "R7312300",
        "R7329900",
        "R7330000",
        "R7337600",
        "R7344600",
        "R7344700",
        "R7347500",
        "R7347600",
        "R7347700",
        "R7477700",
        "R7477800",
        "R7610300"
      ],
      "rows": 2867,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "all.equal.key",
      "title": "An all.equal method for variable wide keys",
      "topics": [
        "all.equal.key"
      ]
    },
    {
      "page": "all.equal.keylong",
      "title": "An all.equal method for variable long keys",
      "topics": [
        "all.equal.keylong"
      ]
    },
    {
      "page": "alphaOnly",
      "title": "Keep only alpha-numeric symbols",
      "topics": [
        "alphaOnly"
      ]
    },
    {
      "page": "anonomize",
      "title": "Create unique anonymous id values",
      "topics": [
        "anonomize"
      ]
    },
    {
      "page": "assignMissing",
      "title": "Set missing values",
      "topics": [
        "assignMissing"
      ]
    },
    {
      "page": "assignRecode",
      "title": "A variable is transformed in an indicated way",
      "topics": [
        "assignRecode"
      ]
    },
    {
      "page": "checkCoercion",
      "title": "Check if values can be safely coerced without introduction of missing values",
      "topics": [
        "checkCoercion"
      ]
    },
    {
      "page": "colnamesReplace",
      "title": "Replace column names with new names from a named vector",
      "topics": [
        "colnamesReplace"
      ]
    },
    {
      "page": "deduper",
      "title": "Removes redundant words from beginnings of character strings",
      "topics": [
        "deduper"
      ]
    },
    {
      "page": "deleteBogusColumns",
      "title": "Remove columns in which the proportion of missing data exceeds a threshold.",
      "topics": [
        "deleteBogusColumns"
      ]
    },
    {
      "page": "deleteBogusRows",
      "title": "Remove rows in which the proportion of missing data exceeds a threshold.",
      "topics": [
        "deleteBogusRows"
      ]
    },
    {
      "page": "dev.create",
      "title": "Create a graphics device",
      "topics": [
        "dev.create"
      ]
    },
    {
      "page": "dir.create.unique",
      "title": "Create a uniquely named directory. Appends number & optionally date to directory name.",
      "topics": [
        "dir.create.unique"
      ]
    },
    {
      "page": "dms",
      "title": "Delete multiple slashes, replace with one",
      "topics": [
        "dms"
      ]
    },
    {
      "page": "dts",
      "title": "Delete trailing slash",
      "topics": [
        "dts"
      ]
    },
    {
      "page": "escape",
      "title": "Text that is to be included as content in documents is cleaned (escaped) to prevent errors",
      "topics": [
        "escape"
      ]
    },
    {
      "page": "file.backup",
      "title": "Create a backup version of a file by renaming it.",
      "topics": [
        "file.backup"
      ]
    },
    {
      "page": "importQualtrics",
      "title": "Import Qualtrics survey files, apply clean column names",
      "topics": [
        "importQualtrics"
      ]
    },
    {
      "page": "initProject",
      "title": "Create project directories, initialize a git repo, create README.md ChangeLog, and R template file in R directory",
      "topics": [
        "initProject"
      ]
    },
    {
      "page": "is.data.frame.simple",
      "title": "Check if a data frame is a simple collection of columns (no lists or matrices within)",
      "topics": [
        "is.data.frame.simple"
      ]
    },
    {
      "page": "isNA",
      "title": "Check if values are R NA symbol or any one of the na.strings elements",
      "topics": [
        "isNA"
      ]
    },
    {
      "page": "keyApply",
      "title": "Apply variable key to data frame (generate recoded data frame)",
      "topics": [
        "keyApply"
      ]
    },
    {
      "page": "keyCheck",
      "title": "Check a key for consistency of names, values with classes.",
      "topics": [
        "keyCheck"
      ]
    },
    {
      "page": "keyCrossRef",
      "title": "keyCrossRef",
      "topics": [
        "keyCrossRef"
      ]
    },
    {
      "page": "keyDiagnostic",
      "title": "Diagnose accuracy of result from applying variable key to data",
      "topics": [
        "keyDiagnostic"
      ]
    },
    {
      "page": "keyDiff",
      "title": "Show difference between 2 keys",
      "topics": [
        "keyDiff"
      ]
    },
    {
      "page": "keyImport",
      "title": "Import/validate a key object or import/validate a key from a file.",
      "topics": [
        "keyImport"
      ]
    },
    {
      "page": "keyLookup",
      "title": "Look for old (or new) names in variable key",
      "topics": [
        "keyLookup"
      ]
    },
    {
      "page": "keyRead",
      "title": "Read file after deducing file type from suffix.",
      "topics": [
        "keyRead"
      ]
    },
    {
      "page": "keySave",
      "title": "Save key as file after deducing type from suffix",
      "topics": [
        "keySave"
      ]
    },
    {
      "page": "keysPool",
      "title": "Homogenize class values and create a long key by pooling variable keys.",
      "topics": [
        "keysPool"
      ]
    },
    {
      "page": "keysPoolCheck",
      "title": "Compares keys from different data sets; finds differences classes of variables. This used to check for similarity of keys from various data sets, one precursor to either combining the keys or merging the data sets themselves.",
      "topics": [
        "keysPoolCheck"
      ]
    },
    {
      "page": "keyTemplate",
      "title": "Create variable key template (in memory or in a file)",
      "topics": [
        "keyTemplate"
      ]
    },
    {
      "page": "keyTemplateSPSS",
      "title": "Import an SPSS file, create a key representing the numeric -> factor transition",
      "topics": [
        "keyTemplateSPSS"
      ]
    },
    {
      "page": "keyTemplateStata",
      "title": "Import a Stata (version 12 or lower) file, create a key representing the numeric -> factor transition",
      "topics": [
        "keyTemplateStata"
      ]
    },
    {
      "page": "keyUpdate",
      "title": "Update a key in light of a new data frame (add variables and values)",
      "topics": [
        "keyUpdate"
      ]
    },
    {
      "page": "likert",
      "title": "Percentage tables for Likert Scale variables",
      "topics": [
        "likert"
      ]
    },
    {
      "page": "long2wide",
      "title": "convert a key object from long to wide format",
      "topics": [
        "long2wide"
      ]
    },
    {
      "page": "mergeCheck",
      "title": "First draft of function to diagnose problems in merges and key variables",
      "topics": [
        "mergeCheck"
      ]
    },
    {
      "page": "mgsub",
      "title": "apply a vector of replacements, one after the other.",
      "topics": [
        "mgsub"
      ]
    },
    {
      "page": "modifyVector",
      "title": "Use new information to update a vector. Similar in concept to R's modify list",
      "topics": [
        "modifyVector"
      ]
    },
    {
      "page": "n2NA",
      "title": "Convert nothing to R missing(NA).",
      "topics": [
        "n2NA"
      ]
    },
    {
      "page": "natlongsurv",
      "title": "Smoking, Happiness, and other survey responses",
      "topics": [
        "natlongsurv"
      ]
    },
    {
      "page": "padW0",
      "title": "Insert 0's in the front of existing digits or characters so that all elements of a vector have the same number of characters.",
      "topics": [
        "padW0"
      ]
    },
    {
      "page": "peek",
      "title": "Show variables, one at a time, QUICKLY and EASILY.",
      "topics": [
        "histOMatic",
        "peek"
      ]
    },
    {
      "page": "print.keycheck",
      "title": "Print out the result of mergeCheck function.",
      "topics": [
        "print.keycheck"
      ]
    },
    {
      "page": "print.keyDiff",
      "title": "Print a keyDiff object",
      "topics": [
        "print.keyDiff"
      ]
    },
    {
      "page": "print.likert",
      "title": "print method for likert tables",
      "topics": [
        "print.likert"
      ]
    },
    {
      "page": "qualtricsBlockStack",
      "title": "Create meta data frame to align identical questions",
      "topics": [
        "qualtricsBlockStack"
      ]
    },
    {
      "page": "removeMatches",
      "title": "Remove elements if they are in a target vector, possibly replacing with NA",
      "topics": [
        "removeMatches"
      ]
    },
    {
      "page": "reverse",
      "title": "Reverse the levels in a factor",
      "topics": [
        "reverse"
      ]
    },
    {
      "page": "safeInteger",
      "title": "If a numeric variable has only integer values, then make it an integer.",
      "topics": [
        "safeInteger"
      ]
    },
    {
      "page": "shorten",
      "title": "Reduce each in a vector of strings to a given length",
      "topics": [
        "shorten"
      ]
    },
    {
      "page": "starsig",
      "title": "How many stars would we need for this p value?",
      "topics": [
        "starsig"
      ]
    },
    {
      "page": "statdatKey",
      "title": "keyFactors: private function that does work for keyTemplateSPSS and key template Stata",
      "topics": [
        "statdatKey"
      ]
    },
    {
      "page": "stringbreak",
      "title": "Insert \"\\n\" after the k'th character in a string. This IS vectorized, so can receive just one or many character strings in a vector.",
      "topics": [
        "stringbreak"
      ]
    },
    {
      "page": "truncsmart",
      "title": "Cuts a string at a specified linewidth, trying to align cut with a separator",
      "topics": [
        "truncsmart"
      ]
    },
    {
      "page": "updatePackages",
      "title": "Update packages, spot new dependencies, and install them",
      "topics": [
        "updatePackages"
      ]
    },
    {
      "page": "varlabTemplate",
      "title": "Create Variable Label Template",
      "topics": [
        "varlabTemplate"
      ]
    },
    {
      "page": "wide2long",
      "title": "Convert a key object from wide to long format",
      "topics": [
        "wide2long"
      ]
    },
    {
      "page": "writeCSV",
      "title": "Write CSV files with quotes same as MS Excel 2013 or newer",
      "topics": [
        "writeCSV"
      ]
    },
    {
      "page": "zapspace",
      "title": "Convert leading or trailing white space and tab characters to nothing.",
      "topics": [
        "zapspace"
      ]
    }
  ],
  "_rundeps": [
    "foreign",
    "openxlsx",
    "plyr",
    "Rcpp",
    "RUnit",
    "stringi",
    "xtable",
    "zip"
  ],
  "_vignettes": [
    {
      "source": "variablekey.Rnw",
      "filename": "variablekey.pdf",
      "title": "variablekey",
      "engine": "utils::Sweave",
      "headings": [],
      "created": "2016-12-22 23:31:39",
      "modified": "2023-09-17 17:30:32",
      "commits": 9
    }
  ],
  "_score": 6.05306614470448,
  "_indexed": true,
  "_nocasepkg": "kutils",
  "_universes": [
    "pauljohn32"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.73",
      "date": "2026-05-23T06:33:46.000Z",
      "distro": "noble",
      "commit": "cec4bcd983f84aeb6700b33ff71c0d0100c40c15",
      "fileid": "728f71d38da99ff85fae73a76e2a4d6b3130a1abf3e4625d4a2b4554c8d4f0cd",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/pauljohn32/actions/runs/26325794445"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.73",
      "date": "2026-05-23T06:33:49.000Z",
      "distro": "noble",
      "commit": "cec4bcd983f84aeb6700b33ff71c0d0100c40c15",
      "fileid": "09b6d840c59ab06f7954f99b9e756d9f5621ab87f91541c1270bea2e4a43d3b7",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/pauljohn32/actions/runs/26325794445"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.73",
      "date": "2026-05-23T06:33:07.000Z",
      "commit": "cec4bcd983f84aeb6700b33ff71c0d0100c40c15",
      "fileid": "51a97cca2237efd201e9e81892c6fd1672a7eea2a01e2a5ad617d93e1e266359",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/pauljohn32/actions/runs/26325794445"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.73",
      "date": "2026-05-23T06:33:06.000Z",
      "commit": "cec4bcd983f84aeb6700b33ff71c0d0100c40c15",
      "fileid": "dfb4c03a69914c58ed7cb9c6b8be13b8a1d1877437f96ca5c4acc1a89bf381c3",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/pauljohn32/actions/runs/26325794445"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.73",
      "date": "2026-05-23T06:33:54.000Z",
      "commit": "cec4bcd983f84aeb6700b33ff71c0d0100c40c15",
      "fileid": "e3ec24b7219fb1639c17af0a1fb4008aa02b538537339c23b9c6c175cb2dda02",
      "status": "success",
      "buildurl": "https://github.com/r-universe/pauljohn32/actions/runs/26325794445"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.73",
      "date": "2026-05-23T06:33:08.000Z",
      "commit": "cec4bcd983f84aeb6700b33ff71c0d0100c40c15",
      "fileid": "644fe17d5f0d551f8a36ede4fd47886ae2f69894665ca0696be84a8410e7800e",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/pauljohn32/actions/runs/26325794445"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.73",
      "date": "2026-05-23T06:32:57.000Z",
      "commit": "cec4bcd983f84aeb6700b33ff71c0d0100c40c15",
      "fileid": "ad2b622ef3a56437abbe748e79497715c085a20099a3c38814f2bb693990db55",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/pauljohn32/actions/runs/26325794445"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.73",
      "date": "2026-05-23T06:32:55.000Z",
      "commit": "cec4bcd983f84aeb6700b33ff71c0d0100c40c15",
      "fileid": "94d6fb88d51d05705fc3bf7674ab8ae2b83b3092fc9121a668c367571d46866c",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/pauljohn32/actions/runs/26325794445"
    }
  ]
}