{
  "_id": "6a103788acfb0bcc41c9a77f",
  "Package": "cdata",
  "Type": "Package",
  "Title": "Fluid Data Transformations",
  "Version": "1.2.1",
  "Date": "2023-08-19",
  "Authors@R": "c(\nperson(\"John\", \"Mount\", email = \"jmount@win-vector.com\", role = c(\"aut\", \"cre\")),\nperson(\"Nina\", \"Zumel\", email = \"nzumel@win-vector.com\", role = c(\"aut\")),\nperson(family = \"Win-Vector LLC\", role = c(\"cph\"))\n)",
  "URL": "https://github.com/WinVector/cdata/,\nhttps://winvector.github.io/cdata/",
  "Maintainer": "John Mount <jmount@win-vector.com>",
  "BugReports": "https://github.com/WinVector/cdata/issues",
  "Description": "Supplies higher-order coordinatized data specification and\nfluid transform operators that include pivot and anti-pivot as\nspecial cases. The methodology is describe in 'Zumel', 2018,\n\"Fluid data reshaping with 'cdata'\",\n<https://winvector.github.io/FluidData/FluidDataReshapingWithCdata.html>\n, <DOI:10.5281/zenodo.1173299> . This package introduces the\nidea of explicit control table specification of data\ntransforms. Works on in-memory data or on remote data using\n'rquery' and 'SQL' database interfaces.",
  "License": "GPL-2 | GPL-3",
  "Encoding": "UTF-8",
  "RoxygenNote": "7.2.3",
  "VignetteBuilder": "knitr",
  "ByteCompile": "true",
  "Repository": "https://winvector.r-universe.dev",
  "Date/Publication": "2024-09-26 15:46:46 UTC",
  "RemoteUrl": "https://github.com/winvector/cdata",
  "RemoteRef": "HEAD",
  "RemoteSha": "ed0adfdc8b6e9bd9dc214ce9df3979563841a95d",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-12 06:22:31 UTC",
    "User": "root"
  },
  "Author": "John Mount [aut, cre],\nNina Zumel [aut],\nWin-Vector LLC [cph]",
  "MD5sum": "cdfb75ca381257409b2d44efe10d54d7",
  "_user": "winvector",
  "_type": "src",
  "_file": "cdata_1.2.1.tar.gz",
  "_fileid": "2b0cc02b3eafa9dca015121214217320da13ec3a758037e10a76479eaa17e202",
  "_filesize": 2559371,
  "_sha256": "2b0cc02b3eafa9dca015121214217320da13ec3a758037e10a76479eaa17e202",
  "_created": "2026-05-12T06:22:31.000Z",
  "_published": "2026-05-22T11:01:28.081Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77366478455,
      "time": 125,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6937131700"
    },
    {
      "job": 77366478691,
      "time": 126,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6937131981"
    },
    {
      "job": 77366478693,
      "time": 113,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "6937128618"
    },
    {
      "job": 77366478584,
      "time": 124,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6937131364"
    },
    {
      "job": 77366478374,
      "time": 174,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6937100788"
    },
    {
      "job": 77366478002,
      "time": 105,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7158905755"
    },
    {
      "job": 77366478857,
      "time": 85,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6937122183"
    },
    {
      "job": 77366478589,
      "time": 78,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "6937120453"
    },
    {
      "job": 77366478876,
      "time": 81,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6937121401"
    }
  ],
  "_buildurl": "https://github.com/r-universe/winvector/actions/runs/25717192505",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/winvector/cdata",
  "_commit": {
    "id": "ed0adfdc8b6e9bd9dc214ce9df3979563841a95d",
    "author": "John Mount <jmount@win-vector.com>",
    "committer": "John Mount <jmount@win-vector.com>",
    "message": "extend error msg\n",
    "time": 1727365606
  },
  "_maintainer": {
    "name": "John Mount",
    "email": "jmount@win-vector.com",
    "login": "johnmount",
    "uuid": 4275344
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.4.0",
      "role": "Depends"
    },
    {
      "package": "wrapr",
      "version": ">= 2.0.9",
      "role": "Depends"
    },
    {
      "package": "rquery",
      "version": ">= 1.4.9",
      "role": "Imports"
    },
    {
      "package": "rqdatatable",
      "version": ">= 1.3.2",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "DBI",
      "role": "Suggests"
    },
    {
      "package": "RSQLite",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "yaml",
      "role": "Suggests"
    },
    {
      "package": "tinytest",
      "role": "Suggests"
    }
  ],
  "_owner": "winvector",
  "_selfowned": true,
  "_usedby": 1,
  "_updates": [],
  "_tags": [],
  "_stars": 44,
  "_contributors": [
    {
      "user": "johnmount",
      "count": 523,
      "uuid": 4275344
    },
    {
      "user": "ninazumel",
      "count": 8,
      "uuid": 4275380
    }
  ],
  "_userbio": {
    "uuid": 1242554,
    "type": "organization",
    "name": "Win Vector LLC",
    "description": "Expert data science training and consulting."
  },
  "_downloads": {
    "count": 1064,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/cdata"
  },
  "_devurl": "https://github.com/winvector/cdata",
  "_pkgdown": "https://winvector.github.io/cdata/",
  "_searchresults": 84,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/cdata.html",
    "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",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/winvector/cdata",
  "_realowner": "winvector",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2017-03-29"
    },
    {
      "version": "0.1.1",
      "date": "2017-05-05"
    },
    {
      "version": "0.1.5",
      "date": "2017-07-04"
    },
    {
      "version": "0.1.6",
      "date": "2017-10-12"
    },
    {
      "version": "0.5.0",
      "date": "2017-11-13"
    },
    {
      "version": "0.5.1",
      "date": "2018-01-04"
    },
    {
      "version": "0.5.2",
      "date": "2018-01-20"
    },
    {
      "version": "0.6.0",
      "date": "2018-03-13"
    },
    {
      "version": "0.7.0",
      "date": "2018-04-10"
    },
    {
      "version": "0.7.1",
      "date": "2018-06-16"
    },
    {
      "version": "0.7.2",
      "date": "2018-07-07"
    },
    {
      "version": "0.7.3",
      "date": "2018-07-20"
    },
    {
      "version": "0.7.4",
      "date": "2018-08-17"
    },
    {
      "version": "1.0.0",
      "date": "2018-09-10"
    },
    {
      "version": "1.0.1",
      "date": "2018-09-22"
    },
    {
      "version": "1.0.2",
      "date": "2018-10-08"
    },
    {
      "version": "1.0.3",
      "date": "2018-10-21"
    },
    {
      "version": "1.0.4",
      "date": "2019-01-07"
    },
    {
      "version": "1.0.5",
      "date": "2019-01-20"
    },
    {
      "version": "1.0.6",
      "date": "2019-02-15"
    },
    {
      "version": "1.0.7",
      "date": "2019-03-23"
    },
    {
      "version": "1.0.8",
      "date": "2019-03-30"
    },
    {
      "version": "1.0.9",
      "date": "2019-04-20"
    },
    {
      "version": "1.1.0",
      "date": "2019-04-27"
    },
    {
      "version": "1.1.1",
      "date": "2019-07-24"
    },
    {
      "version": "1.1.2",
      "date": "2019-09-15"
    },
    {
      "version": "1.1.3",
      "date": "2019-10-29"
    },
    {
      "version": "1.1.4",
      "date": "2020-01-09"
    },
    {
      "version": "1.1.5",
      "date": "2020-01-21"
    },
    {
      "version": "1.1.6",
      "date": "2020-02-01"
    },
    {
      "version": "1.1.7",
      "date": "2020-08-12"
    },
    {
      "version": "1.1.8",
      "date": "2020-08-25"
    },
    {
      "version": "1.1.9",
      "date": "2020-10-17"
    },
    {
      "version": "1.2.0",
      "date": "2021-06-12"
    },
    {
      "version": "1.2.1",
      "date": "2023-08-20"
    }
  ],
  "_exports": [
    "%**%",
    "%//%",
    "blocks_to_rowrecs",
    "blocks_to_rowrecs_q",
    "blocks_to_rowrecs_spec",
    "build_pivot_control",
    "build_pivot_control_q",
    "build_unpivot_control",
    "check_cols_form_unique_keys",
    "convert_cdata_spec_to_yaml",
    "convert_records",
    "convert_yaml_to_cdata_spec",
    "get_transform_details",
    "layout_by",
    "layout_specification",
    "layout_to_blocks",
    "layout_to_rowrecs",
    "map_fields",
    "map_fields_q",
    "pivot_to_blocks",
    "pivot_to_rowrecs",
    "qlook",
    "rowrecs_to_blocks",
    "rowrecs_to_blocks_q",
    "rowrecs_to_blocks_spec",
    "rows_are_uniquely_keyed",
    "unpivot_to_blocks"
  ],
  "_help": [
    {
      "page": "cdata-package",
      "title": "'cdata': Fluid Data Transformations.",
      "topics": [
        "cdata-package",
        "cdata"
      ]
    },
    {
      "page": "grapes-times-times-grapes",
      "title": "Multiply/join row records into block records.",
      "topics": [
        "%**%"
      ]
    },
    {
      "page": "grapes-slash-slash-grapes",
      "title": "Factor-out (aggregate/project) block records into row records.",
      "topics": [
        "%//%"
      ]
    },
    {
      "page": "blocks_to_rowrecs",
      "title": "Map data records from block records to row records.",
      "topics": [
        "blocks_to_rowrecs",
        "blocks_to_rowrecs.default",
        "blocks_to_rowrecs.relop"
      ]
    },
    {
      "page": "blocks_to_rowrecs_spec",
      "title": "Create a block records to row records transform specification.",
      "topics": [
        "blocks_to_rowrecs_spec"
      ]
    },
    {
      "page": "build_pivot_control",
      "title": "Build a blocks_to_rowrecs()/rowrecs_to_blocks() control table that specifies a pivot from a 'data.frame'.",
      "topics": [
        "build_pivot_control",
        "build_pivot_control.default",
        "build_pivot_control.relop"
      ]
    },
    {
      "page": "build_unpivot_control",
      "title": "Build a rowrecs_to_blocks() control table that specifies a un-pivot (or \"shred\").",
      "topics": [
        "build_unpivot_control"
      ]
    },
    {
      "page": "convert_cdata_spec_to_yaml",
      "title": "Convert a layout_specification, blocks_to_rowrecs_spec, or rowrecs_to_blocks_spec to a simple object.",
      "topics": [
        "convert_cdata_spec_to_yaml"
      ]
    },
    {
      "page": "convert_records",
      "title": "General transform from arbitrary record shape to arbitrary record shape.",
      "topics": [
        "convert_records"
      ]
    },
    {
      "page": "convert_yaml_to_cdata_spec",
      "title": "Read a cdata record transform from a simple object (such as is imported from YAML).",
      "topics": [
        "convert_yaml_to_cdata_spec"
      ]
    },
    {
      "page": "layout_by",
      "title": "Use transform spec to layout data.",
      "topics": [
        "layout_by"
      ]
    },
    {
      "page": "layout_by.blocks_to_rowrecs_spec",
      "title": "Use transform spec to layout data.",
      "topics": [
        "layout_by.blocks_to_rowrecs_spec"
      ]
    },
    {
      "page": "layout_by.cdata_general_transform_spec",
      "title": "Use transform spec to layout data.",
      "topics": [
        "layout_by.cdata_general_transform_spec"
      ]
    },
    {
      "page": "layout_by.rowrecs_to_blocks_spec",
      "title": "Use transform spec to layout data.",
      "topics": [
        "layout_by.rowrecs_to_blocks_spec"
      ]
    },
    {
      "page": "layout_specification",
      "title": "Create a record to record spec.",
      "topics": [
        "layout_specification"
      ]
    },
    {
      "page": "map_fields",
      "title": "Map field values from one column into new derived columns (takes a 'data.frame').",
      "topics": [
        "map_fields"
      ]
    },
    {
      "page": "map_fields_q",
      "title": "Map field values from one column into new derived columns (query based, takes name of table).",
      "topics": [
        "map_fields_q"
      ]
    },
    {
      "page": "pivot_to_rowrecs",
      "title": "Map data records from block records that have one row per measurement value to row records.",
      "topics": [
        "layout_to_rowrecs",
        "pivot_to_rowrecs"
      ]
    },
    {
      "page": "rowrecs_to_blocks",
      "title": "Map a data records from row records to block records.",
      "topics": [
        "rowrecs_to_blocks",
        "rowrecs_to_blocks.default",
        "rowrecs_to_blocks.relop"
      ]
    },
    {
      "page": "rowrecs_to_blocks_spec",
      "title": "Create a row records to block records transform specification.",
      "topics": [
        "rowrecs_to_blocks_spec"
      ]
    },
    {
      "page": "unpivot_to_blocks",
      "title": "Map a data records from row records to block records with one record row per columnsToTakeFrom value.",
      "topics": [
        "layout_to_blocks",
        "pivot_to_blocks",
        "unpivot_to_blocks",
        "unpivot_to_blocks.default",
        "unpivot_to_blocks.relop"
      ]
    }
  ],
  "_readme": "https://github.com/winvector/cdata/raw/HEAD/README.md",
  "_rundeps": [
    "data.table",
    "rqdatatable",
    "rquery",
    "wrapr"
  ],
  "_vignettes": [
    {
      "source": "blocksrecs.Rmd",
      "filename": "blocksrecs.html",
      "title": "Block Records and Row Records",
      "author": "John Mount, Nina Zumel",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Block Records and Row Records",
        "Appendix"
      ],
      "created": "2018-10-23 17:33:15",
      "modified": "2020-08-11 16:45:11",
      "commits": 13
    },
    {
      "source": "cdata.Rmd",
      "filename": "cdata.html",
      "title": "cdata",
      "author": "John Mount, Win-Vector LLC",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2017-11-12 16:47:25",
      "modified": "2020-08-11 16:45:11",
      "commits": 17
    },
    {
      "source": "exercises.Rmd",
      "filename": "exercises.html",
      "title": "cdata Exercises",
      "author": "John Mount, Nina Zumel; Win-Vector LLC",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Example 1",
        "Example 2",
        "Example 3",
        "Example 4",
        "Example 5",
        "Reversing Transforms",
        "Package entry points",
        "Conclusion"
      ],
      "created": "2019-04-25 21:34:55",
      "modified": "2023-08-19 23:36:40",
      "commits": 14
    },
    {
      "source": "control_table_keys.Rmd",
      "filename": "control_table_keys.html",
      "title": "Control Table Keys",
      "author": "John Mount",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2019-02-09 03:02:48",
      "modified": "2021-06-11 23:27:20",
      "commits": 10
    },
    {
      "source": "design.Rmd",
      "filename": "design.html",
      "title": "Designing Transforms for Data Reshaping with cdata",
      "author": "John Mount, Nina Zumel",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2018-10-23 18:43:16",
      "modified": "2020-08-11 16:45:11",
      "commits": 11
    },
    {
      "source": "general_transform.Rmd",
      "filename": "general_transform.html",
      "title": "General Data Transforms With cdata",
      "author": "John Mount, Nina Zumel",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2019-01-20 08:10:08",
      "modified": "2020-08-11 16:45:11",
      "commits": 7
    },
    {
      "source": "operators.Rmd",
      "filename": "operators.html",
      "title": "Operators",
      "author": "John Mount, Nina Zumel",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2019-03-25 16:09:21",
      "modified": "2020-01-23 16:02:40",
      "commits": 12
    }
  ],
  "_score": 7.615862889577037,
  "_indexed": true,
  "_nocasepkg": "cdata",
  "_universes": [
    "winvector",
    "johnmount"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.2.1",
      "date": "2026-05-12T06:24:31.000Z",
      "distro": "noble",
      "commit": "ed0adfdc8b6e9bd9dc214ce9df3979563841a95d",
      "fileid": "ebaca232029fba07b9737cff9520dea21ade397502e9c45a27da42b2dd590774",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/winvector/actions/runs/25717192505"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.2.1",
      "date": "2026-05-12T06:24:31.000Z",
      "distro": "noble",
      "commit": "ed0adfdc8b6e9bd9dc214ce9df3979563841a95d",
      "fileid": "3b2317bc51c8ba8ccbf2c178eb46f613418c0d4e43e497191560907ee86b0cff",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/winvector/actions/runs/25717192505"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.2.1",
      "date": "2026-05-12T06:24:21.000Z",
      "commit": "ed0adfdc8b6e9bd9dc214ce9df3979563841a95d",
      "fileid": "d18341f4bff161d04b19b3c3297525fdb6e238612dfc94f95fcbb2fcdde8f4b8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/winvector/actions/runs/25717192505"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.2.1",
      "date": "2026-05-12T06:24:30.000Z",
      "commit": "ed0adfdc8b6e9bd9dc214ce9df3979563841a95d",
      "fileid": "cbdd181ead9477bc34c12ec74193cb3f839406f554e8a69fe52e58d553d21988",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/winvector/actions/runs/25717192505"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.2.1",
      "date": "2026-05-12T06:23:46.000Z",
      "commit": "ed0adfdc8b6e9bd9dc214ce9df3979563841a95d",
      "fileid": "b692d30585fb4be24b5e1b48351dc8c4089a2815d683c8fe0961dbe6312a7a0d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/winvector/actions/runs/25717192505"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.2.1",
      "date": "2026-05-12T06:23:38.000Z",
      "commit": "ed0adfdc8b6e9bd9dc214ce9df3979563841a95d",
      "fileid": "861dda9f3a19a350ca7c9336a1b9379f59b0f3e3e3ef7d339e62a7b214a19691",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/winvector/actions/runs/25717192505"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.2.1",
      "date": "2026-05-12T06:23:41.000Z",
      "commit": "ed0adfdc8b6e9bd9dc214ce9df3979563841a95d",
      "fileid": "b3ed615e60ff42029c3bf4f995fe6e762971c1a71dc4cddf1a74a10e6b39a057",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/winvector/actions/runs/25717192505"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.2.1",
      "date": "2026-05-22T11:00:46.000Z",
      "commit": "ed0adfdc8b6e9bd9dc214ce9df3979563841a95d",
      "fileid": "f1d97b45cac294c7696693337e732e8bc11631960c4d5b256d042655f146ad24",
      "status": "success",
      "buildurl": "https://github.com/r-universe/winvector/actions/runs/25717192505"
    }
  ]
}