{
  "_id": "6a29326c732311cd875a6c56",
  "Package": "fctutils",
  "Type": "Package",
  "Title": "Advanced Factor Manipulation Utilities",
  "Version": "0.0.8",
  "Authors@R": "c(person(\"Kai\",\"Guo\",email = \"guokai8@gmail.com\",\nrole = c(\"aut\", \"cre\")\n))",
  "Maintainer": "Kai Guo <guokai8@gmail.com>",
  "Description": "Provides a collection of utility functions for\nmanipulating and analyzing factor vectors in R. It offers tools\nfor filtering, splitting, combining, and reordering factor\nlevels based on various criteria. The package is designed to\nsimplify common tasks in categorical data analysis, making it\neasier to work with factors in a flexible and efficient manner.",
  "License": "GPL-3",
  "Encoding": "UTF-8",
  "VignetteBuilder": "knitr",
  "RoxygenNote": "7.3.1",
  "Config/pak/sysreqs": "libicu-dev",
  "Repository": "https://guokai8.r-universe.dev",
  "Date/Publication": "2024-10-09 15:19:30 UTC",
  "RemoteUrl": "https://github.com/guokai8/fctutils",
  "RemoteRef": "HEAD",
  "RemoteSha": "18ac7c6cf3c498ed61465476c1b89cc6827cf43a",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-10 09:43:41 UTC",
    "User": "root"
  },
  "Author": "Kai Guo [aut, cre]",
  "MD5sum": "3ffbde7b905fc369703bc517712183df",
  "_user": "guokai8",
  "_type": "src",
  "_file": "fctutils_0.0.8.tar.gz",
  "_fileid": "c0d98db5f9f11e8675893da0d49b8a3d5f5352e34160a511a46270dede50eae2",
  "_filesize": 515604,
  "_sha256": "c0d98db5f9f11e8675893da0d49b8a3d5f5352e34160a511a46270dede50eae2",
  "_created": "2026-06-10T09:43:41.000Z",
  "_published": "2026-06-10T09:46:20.498Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 80528800784,
      "time": 125,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "7532185305"
    },
    {
      "job": 80528800796,
      "time": 116,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7532182236"
    },
    {
      "job": 80528800855,
      "time": 74,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "7532165945"
    },
    {
      "job": 80528801102,
      "time": 113,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7532180641"
    },
    {
      "job": 80528174539,
      "time": 201,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7532138116"
    },
    {
      "job": 80528800867,
      "time": 115,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7532182076"
    },
    {
      "job": 80528800851,
      "time": 104,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "7532178045"
    },
    {
      "job": 80528800816,
      "time": 80,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "7532168816"
    },
    {
      "job": 80528800864,
      "time": 86,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7532170523"
    }
  ],
  "_buildurl": "https://github.com/r-universe/guokai8/actions/runs/27267470598",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/guokai8/fctutils",
  "_commit": {
    "id": "18ac7c6cf3c498ed61465476c1b89cc6827cf43a",
    "author": "Kai Guo <guokai8@gmail.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Update README.md",
    "time": 1728487170
  },
  "_maintainer": {
    "name": "Kai Guo",
    "email": "guokai8@gmail.com",
    "login": "guokai8",
    "description": "Love coding\nLove cooking",
    "uuid": 9088155
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "stringdist",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "markdown",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    }
  ],
  "_owner": "guokai8",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [],
  "_tags": [],
  "_stars": 2,
  "_contributors": [
    {
      "user": "guokai8",
      "count": 75,
      "uuid": 9088155
    }
  ],
  "_userbio": {
    "uuid": 9088155,
    "type": "user",
    "name": "Kai Guo",
    "description": "Love coding\r\nLove cooking"
  },
  "_downloads": {
    "count": 135,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/fctutils"
  },
  "_devurl": "https://github.com/guokai8/fctutils",
  "_searchresults": 5,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/fctutils.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/guokai8/fctutils",
  "_realowner": "guokai8",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.0.6",
      "date": "2024-09-24"
    },
    {
      "version": "0.0.7",
      "date": "2024-09-30"
    }
  ],
  "_exports": [
    "ft_apply",
    "ft_char_freq",
    "ft_collapse_lev",
    "ft_combine",
    "ft_concat",
    "ft_count",
    "ft_decode",
    "ft_dummy",
    "ft_duplicates",
    "ft_encode",
    "ft_extract",
    "ft_factorize",
    "ft_filter_freq",
    "ft_filter_func",
    "ft_filter_pos",
    "ft_freq",
    "ft_group_by_prefix",
    "ft_impute",
    "ft_insert",
    "ft_intersect",
    "ft_len",
    "ft_level_lengths",
    "ft_level_order",
    "ft_level_stats",
    "ft_map_func",
    "ft_mapping",
    "ft_merge",
    "ft_merge_similar",
    "ft_na",
    "ft_pad_levels",
    "ft_pairs",
    "ft_pattern_replace",
    "ft_pos",
    "ft_regex_freq",
    "ft_remove_levels",
    "ft_rename_levels",
    "ft_reorder_within",
    "ft_replace",
    "ft_replace_na",
    "ft_replace_pattern",
    "ft_reverse",
    "ft_rollup",
    "ft_sample_levels",
    "ft_sort",
    "ft_sort_custom",
    "ft_split",
    "ft_split_levels",
    "ft_sub",
    "ft_substr_freq",
    "ft_table",
    "ft_union",
    "ft_unique_comb"
  ],
  "_help": [
    {
      "page": "ft_apply",
      "title": "Apply a Function to Factor Levels",
      "topics": [
        "ft_apply"
      ]
    },
    {
      "page": "ft_char_freq",
      "title": "Reorder Factor Levels Based on Character Frequency at Positions",
      "topics": [
        "ft_char_freq"
      ]
    },
    {
      "page": "ft_collapse_lev",
      "title": "Collapse Factor Levels Based on Grouping",
      "topics": [
        "ft_collapse_lev"
      ]
    },
    {
      "page": "ft_combine",
      "title": "Combine Two Vectors of Unequal Lengths and Sort Based on Specified Levels",
      "topics": [
        "ft_combine"
      ]
    },
    {
      "page": "ft_concat",
      "title": "Concatenate Multiple Factor Vectors",
      "topics": [
        "ft_concat"
      ]
    },
    {
      "page": "ft_count",
      "title": "Reorder Factor Levels by Level Count",
      "topics": [
        "ft_count"
      ]
    },
    {
      "page": "ft_decode",
      "title": "Decode Numeric Codes into Factor Levels",
      "topics": [
        "ft_decode"
      ]
    },
    {
      "page": "ft_dummy",
      "title": "Create Dummy Variables from Factor Levels",
      "topics": [
        "ft_dummy"
      ]
    },
    {
      "page": "ft_duplicates",
      "title": "Flag Duplicate Factor Levels",
      "topics": [
        "ft_duplicates"
      ]
    },
    {
      "page": "ft_encode",
      "title": "Encode Factor Levels into Numeric Codes",
      "topics": [
        "ft_encode"
      ]
    },
    {
      "page": "ft_extract",
      "title": "Extract Substrings from Factor Levels",
      "topics": [
        "ft_extract"
      ]
    },
    {
      "page": "ft_factorize",
      "title": "Factorize Character Vectors with Consistent Levels",
      "topics": [
        "ft_factorize"
      ]
    },
    {
      "page": "ft_filter_freq",
      "title": "Filter Factor Levels by Frequency and Recalculate Character Frequencies",
      "topics": [
        "ft_filter_freq"
      ]
    },
    {
      "page": "ft_filter_func",
      "title": "Filter Factor Levels Using a Function",
      "topics": [
        "ft_filter_func"
      ]
    },
    {
      "page": "ft_filter_pos",
      "title": "Remove Factor Levels with Specific Characters at Specified Positions",
      "topics": [
        "ft_filter_pos"
      ]
    },
    {
      "page": "ft_freq",
      "title": "Reorder Factor Levels Based on Character Frequency",
      "topics": [
        "ft_freq"
      ]
    },
    {
      "page": "ft_group_by_prefix",
      "title": "Group Factor Levels by Common Prefix",
      "topics": [
        "ft_group_by_prefix"
      ]
    },
    {
      "page": "ft_impute",
      "title": "Impute Missing Values in Factor Vector",
      "topics": [
        "ft_impute"
      ]
    },
    {
      "page": "ft_insert",
      "title": "Insert New Levels into a Factor Vector at Specified Positions",
      "topics": [
        "ft_insert"
      ]
    },
    {
      "page": "ft_intersect",
      "title": "Get Intersection of Factor Levels from Multiple Vectors",
      "topics": [
        "ft_intersect"
      ]
    },
    {
      "page": "ft_len",
      "title": "Sort Factor Levels Based on Their Length",
      "topics": [
        "ft_len"
      ]
    },
    {
      "page": "ft_level_lengths",
      "title": "Get Character Lengths of Factor Levels",
      "topics": [
        "ft_level_lengths"
      ]
    },
    {
      "page": "ft_level_order",
      "title": "Get Order of Factor Levels in Data",
      "topics": [
        "ft_level_order"
      ]
    },
    {
      "page": "ft_level_stats",
      "title": "Calculate Statistics for Each Factor Level",
      "topics": [
        "ft_level_stats"
      ]
    },
    {
      "page": "ft_map_func",
      "title": "Map Factor Levels Using a Function",
      "topics": [
        "ft_map_func"
      ]
    },
    {
      "page": "ft_mapping",
      "title": "Create a Mapping Table of Original and Modified Factor Levels",
      "topics": [
        "ft_mapping"
      ]
    },
    {
      "page": "ft_merge",
      "title": "Merge Two Factors and Retain Unique Levels",
      "topics": [
        "ft_merge"
      ]
    },
    {
      "page": "ft_merge_similar",
      "title": "Merge Similar Factor Levels",
      "topics": [
        "ft_merge_similar"
      ]
    },
    {
      "page": "ft_na",
      "title": "Handle NA Values in Factor Vectors",
      "topics": [
        "ft_na"
      ]
    },
    {
      "page": "ft_pad_levels",
      "title": "Pad Factor Levels with Leading Characters",
      "topics": [
        "ft_pad_levels"
      ]
    },
    {
      "page": "ft_pairs",
      "title": "Generate Pairwise Comparisons Between Elements in factor",
      "topics": [
        "ft_pairs"
      ]
    },
    {
      "page": "ft_pos",
      "title": "Reorder Factor Levels Based on Characters at Specified Positions",
      "topics": [
        "ft_pos"
      ]
    },
    {
      "page": "ft_regex_freq",
      "title": "Reorder Factor Levels Based on Regex Pattern Frequency",
      "topics": [
        "ft_regex_freq"
      ]
    },
    {
      "page": "ft_remove_levels",
      "title": "Remove Specified Levels from a Factor",
      "topics": [
        "ft_remove_levels"
      ]
    },
    {
      "page": "ft_rename_levels",
      "title": "Rename Factor Levels Using Data Frame Mapping",
      "topics": [
        "ft_rename_levels"
      ]
    },
    {
      "page": "ft_reorder_within",
      "title": "Reorder Factor Levels Within Groups",
      "topics": [
        "ft_reorder_within"
      ]
    },
    {
      "page": "ft_replace",
      "title": "Replace a Factor Level and Optionally Insert at Specified Position",
      "topics": [
        "ft_replace"
      ]
    },
    {
      "page": "ft_replace_na",
      "title": "Replace NA Values in Factor Vector",
      "topics": [
        "ft_replace_na"
      ]
    },
    {
      "page": "ft_replace_pattern",
      "title": "Replace Parts of Factor Levels Based on a Pattern",
      "topics": [
        "ft_replace_pattern"
      ]
    },
    {
      "page": "ft_reverse",
      "title": "Reverse Factor Levels",
      "topics": [
        "ft_reverse"
      ]
    },
    {
      "page": "ft_rollup",
      "title": "Aggregate Factor Levels Based on Grouping",
      "topics": [
        "ft_rollup"
      ]
    },
    {
      "page": "ft_sample_levels",
      "title": "Sample Levels from a Factor Vector",
      "topics": [
        "ft_sample_levels"
      ]
    },
    {
      "page": "ft_sort",
      "title": "Sort Factor Levels Based on Another Vector or Column",
      "topics": [
        "ft_sort"
      ]
    },
    {
      "page": "ft_sort_custom",
      "title": "Sort Factor Levels Using a Custom Function",
      "topics": [
        "ft_sort_custom"
      ]
    },
    {
      "page": "ft_split",
      "title": "Split Factor Levels and Reorder Based on Specified Criteria",
      "topics": [
        "ft_split"
      ]
    },
    {
      "page": "ft_split_levels",
      "title": "Split Factor Levels into Multiple Factors",
      "topics": [
        "ft_split_levels"
      ]
    },
    {
      "page": "ft_sub",
      "title": "Reorder Factor Levels Based on Substrings",
      "topics": [
        "ft_sub"
      ]
    },
    {
      "page": "ft_substr_freq",
      "title": "Reorder Factor Levels Based on Substring Frequency",
      "topics": [
        "ft_substr_freq"
      ]
    },
    {
      "page": "ft_table",
      "title": "Count Character Frequencies in Factor Levels (Including NA Handling)",
      "topics": [
        "ft_table"
      ]
    },
    {
      "page": "ft_union",
      "title": "Get Union of Factor Levels from Multiple Vectors",
      "topics": [
        "ft_union"
      ]
    },
    {
      "page": "ft_unique_comb",
      "title": "Create Factor of Unique Combinations from Multiple Factors",
      "topics": [
        "ft_unique_comb"
      ]
    }
  ],
  "_pkglogo": "https://github.com/guokai8/fctutils/raw/HEAD/logo.png",
  "_readme": "https://github.com/guokai8/fctutils/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "glue",
    "lifecycle",
    "magrittr",
    "rlang",
    "stringdist",
    "stringi",
    "stringr",
    "vctrs"
  ],
  "_vignettes": [
    {
      "source": "fctutils.Rmd",
      "filename": "fctutils.html",
      "title": "fctutils: Advanced Factor Manipulation Utilities",
      "author": "Kai Guo, University of Michigan",
      "engine": "knitr::knitr",
      "headings": [
        "1. Software Usage",
        "1.1 Installation",
        "2. Useful functions",
        "2.1 Ordering and Sorting Factors",
        "2.2 Replacing Factor Levels",
        "2.3 Filtering and Removing Factor Levels",
        "2.4 Merging Factor Vectors",
        "2.5 Other Useful Functions",
        "3. Summary",
        "4. Contact information"
      ],
      "created": "2024-09-19 15:43:56",
      "modified": "2024-09-30 14:31:48",
      "commits": 7
    }
  ],
  "_score": 4,
  "_indexed": true,
  "_nocasepkg": "fctutils",
  "_universes": [
    "guokai8"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.0.8",
      "date": "2026-06-10T09:45:49.000Z",
      "distro": "noble",
      "commit": "18ac7c6cf3c498ed61465476c1b89cc6827cf43a",
      "fileid": "7f20f154872227d16038dbfdd6802f157f0fda29525435397a223b7dc76a7bb6",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/guokai8/actions/runs/27267470598"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.0.8",
      "date": "2026-06-10T09:45:42.000Z",
      "distro": "noble",
      "commit": "18ac7c6cf3c498ed61465476c1b89cc6827cf43a",
      "fileid": "bb06fc3b72edfe58a12dfa16cc17d7b82c86df0545720132400a1664e3dfc84f",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/guokai8/actions/runs/27267470598"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.0.8",
      "date": "2026-06-10T09:45:05.000Z",
      "commit": "18ac7c6cf3c498ed61465476c1b89cc6827cf43a",
      "fileid": "510b417e51e1c09fff955c8b911cdef2f4e5b25d38e6f86bd63a2500bef064c7",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/guokai8/actions/runs/27267470598"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.0.8",
      "date": "2026-06-10T09:45:33.000Z",
      "commit": "18ac7c6cf3c498ed61465476c1b89cc6827cf43a",
      "fileid": "0a50fa57814921e1b049485c7f46d7b6e422fb5dca924c91a82ed0f9f5aa51fc",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/guokai8/actions/runs/27267470598"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.0.8",
      "date": "2026-06-10T09:45:56.000Z",
      "commit": "18ac7c6cf3c498ed61465476c1b89cc6827cf43a",
      "fileid": "ca8fc0f52214e521507684695e379580184b876e9e24ff4436c28842324eff93",
      "status": "success",
      "buildurl": "https://github.com/r-universe/guokai8/actions/runs/27267470598"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.0.8",
      "date": "2026-06-10T09:45:23.000Z",
      "commit": "18ac7c6cf3c498ed61465476c1b89cc6827cf43a",
      "fileid": "10300c9c669d5eeeaeb099071e16a8422c3991aade471e7ff5617d4c9389c365",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/guokai8/actions/runs/27267470598"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.0.8",
      "date": "2026-06-10T09:44:59.000Z",
      "commit": "18ac7c6cf3c498ed61465476c1b89cc6827cf43a",
      "fileid": "e1a35ddc7ca729943ff39f1f54d62ad698937c52594f62c00190429fa2144eaa",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/guokai8/actions/runs/27267470598"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.0.8",
      "date": "2026-06-10T09:45:03.000Z",
      "commit": "18ac7c6cf3c498ed61465476c1b89cc6827cf43a",
      "fileid": "7a291ba53c534e27af7d76bf18031b582e0b4f9552a93c082de9f965143a9306",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/guokai8/actions/runs/27267470598"
    }
  ]
}