{
  "_id": "6a1c0e9a1d7bb097a0a2de7b",
  "Package": "poorman",
  "Type": "Package",
  "Title": "A Poor Man's Dependency Free Recreation of 'dplyr'",
  "Version": "0.2.7",
  "Authors@R": "c(\nperson(\"Nathan\", \"Eastwood\", \"\", \"nathan.eastwood@icloud.com\",\nrole = c(\"aut\", \"cre\")),\nperson(\"Etienne\", \"Bacher\", , \"etienne.bacher@protonmail.com\", role = \"ctb\",\ncomment = c(ORCID = \"0000-0002-9271-5075\")))",
  "Maintainer": "Nathan Eastwood <nathan.eastwood@icloud.com>",
  "Description": "A replication of key functionality from 'dplyr' and the\nwider 'tidyverse' using only 'base'.",
  "URL": "https://nathaneastwood.github.io/poorman/,\nhttps://github.com/nathaneastwood/poorman",
  "BugReports": "https://github.com/nathaneastwood/poorman/issues",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "RoxygenNote": "7.2.3",
  "Roxygen": "list(markdown = TRUE)",
  "VignetteBuilder": "knitr",
  "Language": "en-GB",
  "Repository": "https://nathaneastwood.r-universe.dev",
  "Date/Publication": "2024-02-08 11:31:06 UTC",
  "RemoteUrl": "https://github.com/nathaneastwood/poorman",
  "RemoteRef": "HEAD",
  "RemoteSha": "a5313242b3820ad746266cae063faff1b0374a7e",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-31 10:31:27 UTC",
    "User": "root"
  },
  "Author": "Nathan Eastwood [aut, cre],\nEtienne Bacher [ctb] (ORCID: <https://orcid.org/0000-0002-9271-5075>)",
  "MD5sum": "951f25d14d6743f6a904244bcca3f841",
  "_user": "nathaneastwood",
  "_type": "src",
  "_file": "poorman_0.2.7.tar.gz",
  "_fileid": "3a9b2107a545e9630cada8e4492c7092998af6a1c723a930252a646183aae8ab",
  "_filesize": 374436,
  "_sha256": "3a9b2107a545e9630cada8e4492c7092998af6a1c723a930252a646183aae8ab",
  "_created": "2026-05-31T10:31:27.000Z",
  "_published": "2026-05-31T10:34:02.763Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78718859562,
      "time": 117,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7315994823"
    },
    {
      "job": 78718859571,
      "time": 98,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7315993031"
    },
    {
      "job": 78718859557,
      "time": 73,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7315990467"
    },
    {
      "job": 78718859556,
      "time": 89,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7315991943"
    },
    {
      "job": 78718678863,
      "time": 172,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7315982904"
    },
    {
      "job": 78718859561,
      "time": 107,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7315993764"
    },
    {
      "job": 78718859568,
      "time": 82,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7315991360"
    },
    {
      "job": 78718859565,
      "time": 78,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7315990895"
    },
    {
      "job": 78718859572,
      "time": 103,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7315993361"
    }
  ],
  "_buildurl": "https://github.com/r-universe/nathaneastwood/actions/runs/26710119072",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/nathaneastwood/poorman",
  "_commit": {
    "id": "a5313242b3820ad746266cae063faff1b0374a7e",
    "author": "nathaneastwood <nathan.eastwood@icloud.com>",
    "committer": "nathaneastwood <nathan.eastwood@icloud.com>",
    "message": "fix: Ensure single column dfs work with group_split()\n\nFixes #124\n",
    "time": 1707391866
  },
  "_maintainer": {
    "name": "Nathan Eastwood",
    "email": "nathan.eastwood@icloud.com",
    "login": "nathaneastwood",
    "linkedin": "in/nathaneastwood",
    "twitter": "@nathaneastwood_",
    "description": "Senior Data Engineer",
    "uuid": 9799530
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.3",
      "role": "Depends"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "roxygen2",
      "role": "Suggests"
    },
    {
      "package": "tinytest",
      "role": "Suggests"
    }
  ],
  "_owner": "nathaneastwood",
  "_selfowned": true,
  "_usedby": 26,
  "_updates": [],
  "_tags": [],
  "_topics": [
    "base-r",
    "data-manipulation",
    "grammar"
  ],
  "_stars": 351,
  "_contributors": [
    {
      "user": "nathaneastwood",
      "count": 333,
      "uuid": 9799530
    },
    {
      "user": "etiennebacher",
      "count": 11,
      "uuid": 52219252
    },
    {
      "user": "indrajeetpatil",
      "count": 1,
      "uuid": 11330453
    },
    {
      "user": "msberends",
      "count": 1,
      "uuid": 31037261
    },
    {
      "user": "markfairbanks",
      "count": 1,
      "uuid": 28766000
    }
  ],
  "_userbio": {
    "uuid": 9799530,
    "type": "user",
    "name": "Nathan Eastwood",
    "description": "Senior Data Engineer"
  },
  "_downloads": {
    "count": 10508,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/poorman"
  },
  "_devurl": "https://github.com/nathaneastwood/poorman",
  "_pkgdown": "https://nathaneastwood.github.io/poorman/",
  "_searchresults": 160,
  "_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/poorman.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/nathaneastwood/poorman",
  "_realowner": "nathaneastwood",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.9",
      "date": "2020-04-01"
    },
    {
      "version": "0.1.10",
      "date": "2020-04-13"
    },
    {
      "version": "0.1.11",
      "date": "2020-04-22"
    },
    {
      "version": "0.2.0",
      "date": "2020-05-10"
    },
    {
      "version": "0.2.1",
      "date": "2020-07-01"
    },
    {
      "version": "0.2.2",
      "date": "2020-10-11"
    },
    {
      "version": "0.2.3",
      "date": "2020-11-12"
    },
    {
      "version": "0.2.4",
      "date": "2020-11-28"
    },
    {
      "version": "0.2.5",
      "date": "2021-03-28"
    },
    {
      "version": "0.2.6",
      "date": "2022-08-17"
    },
    {
      "version": "0.2.7",
      "date": "2023-10-30"
    }
  ],
  "_exports": [
    "%>%",
    "across",
    "add_count",
    "add_tally",
    "all_of",
    "anti_join",
    "any_of",
    "arrange",
    "between",
    "bind_cols",
    "bind_rows",
    "case_when",
    "coalesce",
    "column_to_rownames",
    "contains",
    "count",
    "cumall",
    "cumany",
    "cume_dist",
    "cummean",
    "cur_column",
    "cur_data",
    "cur_data_all",
    "cur_group",
    "cur_group_id",
    "cur_group_rows",
    "dense_rank",
    "desc",
    "distinct",
    "ends_with",
    "everything",
    "fill",
    "filter",
    "first",
    "full_join",
    "glimpse",
    "group_by",
    "group_by_drop_default",
    "group_cols",
    "group_data",
    "group_indices",
    "group_keys",
    "group_rows",
    "group_size",
    "group_split",
    "group_vars",
    "groups",
    "has_rownames",
    "if_all",
    "if_any",
    "if_else",
    "inner_join",
    "lag",
    "last",
    "last_col",
    "lead",
    "left_join",
    "lst",
    "matches",
    "min_rank",
    "mutate",
    "n",
    "n_distinct",
    "n_groups",
    "na_if",
    "near",
    "nest_by",
    "nth",
    "ntile",
    "num_range",
    "peek_vars",
    "percent_rank",
    "pivot_longer",
    "pivot_wider",
    "pull",
    "recode",
    "recode_factor",
    "relocate",
    "remove_rownames",
    "rename",
    "rename_with",
    "replace_na",
    "right_join",
    "row_number",
    "rowid_to_column",
    "rownames_to_column",
    "select",
    "semi_join",
    "slice",
    "slice_head",
    "slice_max",
    "slice_min",
    "slice_sample",
    "slice_tail",
    "starts_with",
    "summarise",
    "summarize",
    "tally",
    "transmute",
    "ungroup",
    "union_all",
    "unite",
    "where",
    "with_groups"
  ],
  "_help": [
    {
      "page": "across",
      "title": "Apply a function (or functions) across multiple columns",
      "topics": [
        "across",
        "if_all",
        "if_any"
      ]
    },
    {
      "page": "arrange",
      "title": "Arrange rows by variables",
      "topics": [
        "arrange"
      ]
    },
    {
      "page": "between",
      "title": "Do values in a numeric vector fall in specified range?",
      "topics": [
        "between"
      ]
    },
    {
      "page": "bind",
      "title": "Efficiently bind multiple 'data.frame's by row and column",
      "topics": [
        "bind",
        "bind_cols",
        "bind_rows"
      ]
    },
    {
      "page": "case_when",
      "title": "A General Vetorised if()",
      "topics": [
        "case_when"
      ]
    },
    {
      "page": "coalesce",
      "title": "Find first non-missing element",
      "topics": [
        "coalesce"
      ]
    },
    {
      "page": "context",
      "title": "Context dependent expressions",
      "topics": [
        "context",
        "cur_column",
        "cur_data",
        "cur_data_all",
        "cur_group",
        "cur_group_id",
        "cur_group_rows",
        "n"
      ]
    },
    {
      "page": "count",
      "title": "Count observations by group",
      "topics": [
        "add_count",
        "add_tally",
        "count",
        "tally"
      ]
    },
    {
      "page": "cummean",
      "title": "Cumulative versions of any, all, and mean",
      "topics": [
        "cumall",
        "cumany",
        "cummean"
      ]
    },
    {
      "page": "desc",
      "title": "Descending order",
      "topics": [
        "desc"
      ]
    },
    {
      "page": "distinct",
      "title": "Subset distinct/unique rows",
      "topics": [
        "distinct"
      ]
    },
    {
      "page": "fill",
      "title": "Fill in missing values with previous or next value",
      "topics": [
        "fill"
      ]
    },
    {
      "page": "filter",
      "title": "Return rows with matching conditions",
      "topics": [
        "filter"
      ]
    },
    {
      "page": "filter_joins",
      "title": "Filtering joins filter rows from 'x' based on the presence or absence of matches in 'y':",
      "topics": [
        "anti_join",
        "filter_joins",
        "semi_join"
      ]
    },
    {
      "page": "glimpse",
      "title": "Get a glimpse of your data",
      "topics": [
        "glimpse"
      ]
    },
    {
      "page": "group_by",
      "title": "Group by one or more variables",
      "topics": [
        "group_by",
        "ungroup"
      ]
    },
    {
      "page": "group_by_drop_default",
      "title": "Default value for .drop argument of group_by",
      "topics": [
        "group_by_drop_default"
      ]
    },
    {
      "page": "group_cols",
      "title": "Select Grouping Variables",
      "topics": [
        "group_cols"
      ]
    },
    {
      "page": "group_metadata",
      "title": "Grouping metadata",
      "topics": [
        "groups",
        "group_data",
        "group_indices",
        "group_metadata",
        "group_rows",
        "group_size",
        "group_vars",
        "n_groups"
      ]
    },
    {
      "page": "group_split",
      "title": "Split data.frame by groups",
      "topics": [
        "group_keys",
        "group_split"
      ]
    },
    {
      "page": "if_else",
      "title": "Vectorised if",
      "topics": [
        "if_else"
      ]
    },
    {
      "page": "lag",
      "title": "Compute lagged or leading values",
      "topics": [
        "lag",
        "lead"
      ]
    },
    {
      "page": "lst",
      "title": "Build a list",
      "topics": [
        "lst"
      ]
    },
    {
      "page": "mutate",
      "title": "Create or transform variables",
      "topics": [
        "mutate",
        "mutate.data.frame",
        "transmute"
      ]
    },
    {
      "page": "mutate_joins",
      "title": "Mutating Joins",
      "topics": [
        "full_join",
        "inner_join",
        "left_join",
        "mutate_joins",
        "right_join"
      ]
    },
    {
      "page": "n_distinct",
      "title": "Count the number of unique values in a set of vectors",
      "topics": [
        "n_distinct"
      ]
    },
    {
      "page": "na_if",
      "title": "Convert values to NA",
      "topics": [
        "na_if"
      ]
    },
    {
      "page": "near",
      "title": "Compare two numeric vectors",
      "topics": [
        "near"
      ]
    },
    {
      "page": "nest_by",
      "title": "Nest By",
      "topics": [
        "nest_by"
      ]
    },
    {
      "page": "nth",
      "title": "Extract the first, last or nth value from a vector",
      "topics": [
        "first",
        "last",
        "nth"
      ]
    },
    {
      "page": "peek_vars",
      "title": "Peek at variables in the selection context",
      "topics": [
        "peek_vars"
      ]
    },
    {
      "page": "pipe",
      "title": "Forward-pipe operator",
      "topics": [
        "%>%",
        "pipe"
      ]
    },
    {
      "page": "pivot_longer",
      "title": "Pivot data from wide to long",
      "topics": [
        "pivot_longer"
      ]
    },
    {
      "page": "pivot_wider",
      "title": "Pivot data from long to wide",
      "topics": [
        "pivot_wider"
      ]
    },
    {
      "page": "pull",
      "title": "Pull out a single variable",
      "topics": [
        "pull"
      ]
    },
    {
      "page": "recode",
      "title": "Recode values",
      "topics": [
        "recode",
        "recode_factor"
      ]
    },
    {
      "page": "relocate",
      "title": "Change column order",
      "topics": [
        "relocate"
      ]
    },
    {
      "page": "rename",
      "title": "Rename columns",
      "topics": [
        "rename",
        "rename_with"
      ]
    },
    {
      "page": "replace_na",
      "title": "Replace missing values",
      "topics": [
        "replace_na"
      ]
    },
    {
      "page": "rownames",
      "title": "Tools for working with row names",
      "topics": [
        "column_to_rownames",
        "has_rownames",
        "remove_rownames",
        "rowid_to_column",
        "rownames",
        "rownames_to_column"
      ]
    },
    {
      "page": "select",
      "title": "Subset columns using their names and types",
      "topics": [
        "select"
      ]
    },
    {
      "page": "select_helpers",
      "title": "Select Helpers",
      "topics": [
        "all_of",
        "any_of",
        "contains",
        "ends_with",
        "everything",
        "last_col",
        "matches",
        "num_range",
        "select_helpers",
        "starts_with"
      ]
    },
    {
      "page": "slice",
      "title": "Subset rows by position",
      "topics": [
        "slice",
        "slice_head",
        "slice_max",
        "slice_min",
        "slice_sample",
        "slice_tail"
      ]
    },
    {
      "page": "summarise",
      "title": "Reduce multiple values down to a single value",
      "topics": [
        "summarise",
        "summarize"
      ]
    },
    {
      "page": "union_all",
      "title": "Union All",
      "topics": [
        "union_all"
      ]
    },
    {
      "page": "unite",
      "title": "Unite Multiple Columns Into One",
      "topics": [
        "unite"
      ]
    },
    {
      "page": "where",
      "title": "Select variables with a function",
      "topics": [
        "where"
      ]
    },
    {
      "page": "window_rank",
      "title": "Windowed Rank Functions",
      "topics": [
        "cume_dist",
        "dense_rank",
        "min_rank",
        "ntile",
        "percent_rank",
        "row_number",
        "window_rank"
      ]
    },
    {
      "page": "with_groups",
      "title": "Perform an operation with temporary groups",
      "topics": [
        "with_groups"
      ]
    }
  ],
  "_pkglogo": "https://github.com/nathaneastwood/poorman/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/nathaneastwood/poorman/raw/HEAD/README.md",
  "_rundeps": [],
  "_vignettes": [
    {
      "source": "faq.Rmd",
      "filename": "faq.html",
      "title": "Frequently Asked Questions",
      "engine": "knitr::rmarkdown",
      "headings": [
        "What Is {poorman}?",
        "So What Does {poorman} Include?",
        "Why Develop {poorman}?",
        "But Why Not Just Use {dplyr}?",
        "Why The Name {poorman}?",
        "Why Not Use {data.table} For The Backend?",
        "But Doesn't {poorman} Have Dependencies?",
        "How Does {poorman} Compare In Terms Of Speed?"
      ],
      "created": "2020-08-02 15:56:22",
      "modified": "2020-10-11 14:27:30",
      "commits": 4
    }
  ],
  "_score": 10.964071761590242,
  "_indexed": true,
  "_nocasepkg": "poorman",
  "_universes": [
    "nathaneastwood"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.2.7",
      "date": "2026-05-31T10:33:30.000Z",
      "distro": "noble",
      "commit": "a5313242b3820ad746266cae063faff1b0374a7e",
      "fileid": "a1f9ccc77016960d424c701fe818485c794929dab4154470f7d6ddd11a1e5d70",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nathaneastwood/actions/runs/26710119072"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.2.7",
      "date": "2026-05-31T10:33:12.000Z",
      "distro": "noble",
      "commit": "a5313242b3820ad746266cae063faff1b0374a7e",
      "fileid": "ba1df08ab5b409a4b2712c54bd988fdbff3a3406f51d9a127c34f86016b5e55f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nathaneastwood/actions/runs/26710119072"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.2.7",
      "date": "2026-05-31T10:32:54.000Z",
      "commit": "a5313242b3820ad746266cae063faff1b0374a7e",
      "fileid": "ddf19bd137ba9e9d444cac978099af0f04d13a5a47400dee241c590794e2507f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nathaneastwood/actions/runs/26710119072"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.2.7",
      "date": "2026-05-31T10:33:06.000Z",
      "commit": "a5313242b3820ad746266cae063faff1b0374a7e",
      "fileid": "d4913aefdb47b5d910b9e4bfb2ed5afa10de604e434167191d5ae906b701c63a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nathaneastwood/actions/runs/26710119072"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.2.7",
      "date": "2026-05-31T10:33:35.000Z",
      "commit": "a5313242b3820ad746266cae063faff1b0374a7e",
      "fileid": "c96d6581f37698cbc7301b8676c4b98f4c5b18c811c2d96cff959cf12c2c61e1",
      "status": "success",
      "buildurl": "https://github.com/r-universe/nathaneastwood/actions/runs/26710119072"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.2.7",
      "date": "2026-05-31T10:32:47.000Z",
      "commit": "a5313242b3820ad746266cae063faff1b0374a7e",
      "fileid": "3254bd483c3a3e402909282fa4593448b349a063882fd73a43d823bbf4e8aa23",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nathaneastwood/actions/runs/26710119072"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.2.7",
      "date": "2026-05-31T10:32:43.000Z",
      "commit": "a5313242b3820ad746266cae063faff1b0374a7e",
      "fileid": "5d2f477886dddf4494242a56f0b568ea188f828b3c567c271c4711f0a81b8e3a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nathaneastwood/actions/runs/26710119072"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.2.7",
      "date": "2026-05-31T10:33:09.000Z",
      "commit": "a5313242b3820ad746266cae063faff1b0374a7e",
      "fileid": "d8fb379076b0b75403f8d83720d9682714cb6c319d6b6d28f19d05b7aad5bb88",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nathaneastwood/actions/runs/26710119072"
    }
  ]
}