{"id":31530205,"url":"https://github.com/frictionlessdata/frictionless-r","last_synced_at":"2025-10-04T01:19:29.908Z","repository":{"id":43839169,"uuid":"373431134","full_name":"frictionlessdata/frictionless-r","owner":"frictionlessdata","description":"R package to read and write Frictionless Data Packages","archived":false,"fork":false,"pushed_at":"2025-09-24T15:26:39.000Z","size":1563,"stargazers_count":31,"open_issues_count":56,"forks_count":11,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-09-24T16:38:14.479Z","etag":null,"topics":["frictionlessdata","oscibio","r","r-package","rstats"],"latest_commit_sha":null,"homepage":"https://frictionlessdata.github.io/frictionless-r/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/frictionlessdata.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":"codemeta.json","zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-06-03T08:13:42.000Z","updated_at":"2025-09-24T14:47:12.000Z","dependencies_parsed_at":"2023-02-03T23:31:27.753Z","dependency_job_id":"f4a6c0aa-e9ce-4239-b6bf-a5c030cc945b","html_url":"https://github.com/frictionlessdata/frictionless-r","commit_stats":{"total_commits":685,"total_committers":6,"mean_commits":"114.16666666666667","dds":0.08321167883211678,"last_synced_commit":"d659b0b8196a5feb39b58ccc0814a62d434cfe39"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/frictionlessdata/frictionless-r","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frictionlessdata%2Ffrictionless-r","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frictionlessdata%2Ffrictionless-r/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frictionlessdata%2Ffrictionless-r/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frictionlessdata%2Ffrictionless-r/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frictionlessdata","download_url":"https://codeload.github.com/frictionlessdata/frictionless-r/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frictionlessdata%2Ffrictionless-r/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278252362,"owners_count":25956286,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-03T02:00:06.070Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["frictionlessdata","oscibio","r","r-package","rstats"],"created_at":"2025-10-04T01:19:15.372Z","updated_at":"2025-10-04T01:19:29.903Z","avatar_url":"https://github.com/frictionlessdata.png","language":"R","readme":"---\noutput: github_document\n---\n\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r, include = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"man/figures/README-\",\n  out.width = \"100%\"\n)\nlibrary(dplyr) # For %\u003e%\n```\n\n# frictionless\n\n\u003c!-- badges: start --\u003e\n[![CRAN status](https://www.r-pkg.org/badges/version/frictionless)](https://CRAN.R-project.org/package=frictionless)\n[![CRAN checks](https://badges.cranchecks.info/worst/frictionless.svg)](https://cran.r-project.org/web/checks/check_results_frictionless.html)\n[![R-CMD-check](https://github.com/frictionlessdata/frictionless-r/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/frictionlessdata/frictionless-r/actions/workflows/R-CMD-check.yaml)\n[![codecov](https://codecov.io/gh/frictionlessdata/frictionless-r/branch/main/graph/badge.svg)](https://app.codecov.io/gh/frictionlessdata/frictionless-r/)\n[![repo status](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)\n[![rOpenSci](https://badges.ropensci.org/495_status.svg)](https://github.com/ropensci/software-review/issues/495)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5815355.svg)](https://doi.org/10.5281/zenodo.5815355)\n\u003c!-- badges: end --\u003e\n\nFrictionless is an R package to read and write Frictionless Data Packages. A [Data Package](https://specs.frictionlessdata.io/data-package/) is a simple container format and standard to describe and package a collection of (tabular) data. It is typically used to publish [FAIR](https://www.go-fair.org/fair-principles/) and open datasets.\n\nTo get started, see:\n\n- [Get started](https://docs.ropensci.org/frictionless/articles/frictionless.html): an introduction to the package's main functionalities.\n- [Function reference](https://docs.ropensci.org/frictionless/reference/index.html): overview of all functions.\n- [Standard implementation](https://docs.ropensci.org/frictionless/articles/index.html): how frictionless implements the Data Package standard.\n\n**Frictionless currently implements [Data Package v1](https://specs.frictionlessdata.io/).** Our goal is to support [Data Package v2](https://datapackage.org/) as well.\n\n## Installation\n\nInstall the latest released version from CRAN:\n\n```{r, eval = FALSE}\ninstall.packages(\"frictionless\")\n```\n\nOr the development version from [GitHub](https://github.com/frictionlessdata/frictionless-r) or [R-universe](https://ropensci.r-universe.dev/frictionless):\n\n```{r, eval = FALSE}\n# install.packages(\"devtools\")\ndevtools::install_github(\"frictionlessdata/frictionless-r\")\n\n# Or rOpenSci R-universe\ninstall.packages(\"frictionless\", repos = \"https://ropensci.r-universe.dev\")\n```\n\n## Usage\n\nWith frictionless you can **read** data from a Data Package (local or remote) into your R environment. Here we read bird GPS tracking data from a Data Package published on [Zenodo](https://doi.org/10.5281/zenodo.10053702):\n\n```{r read_example}\nlibrary(frictionless)\n\n# Read the datapackage.json file\n# This gives you access to all Data Resources of the Data Package without \n# reading them, which is convenient and fast.\npackage \u003c- read_package(\"https://zenodo.org/records/10053702/files/datapackage.json\")\n\npackage\n\n# List resources\nresources(package)\n\n# Read data from the resource \"gps\"\n# This will return a single data frame, even though the data are split over \n# multiple zipped CSV files.\nread_resource(package, \"gps\")\n```\n\nYou can also create your own Data Package, add data and **write** it to disk:\n\n```{r write_example}\n# Create a Data Package and add the \"iris\" data frame as a resource\nmy_package \u003c-\n  create_package() %\u003e%\n  add_resource(resource_name = \"iris\", data = iris)\n\nmy_package\n\n# Write the Data Package to disk\nmy_package %\u003e%\n  write_package(\"my_directory\")\n```\n\n```{r, include = FALSE}\nunlink(\"my_directory\", recursive = TRUE)\n```\n\nFor more functionality, see [get started](https://docs.ropensci.org/frictionless/articles/frictionless.html) or the [function reference](https://docs.ropensci.org/frictionless/reference/index.html).\n\n## frictionless vs datapackage.r\n\n[datapackage.r](https://github.com/frictionlessdata/datapackage-r) is an alternative R package to work with Data Packages. It has an object-oriented design and offers validation.\n\nfrictionless on the other hand allows you to quickly read and write Data Packages to and from data frames, getting out of the way for the rest of your analysis. It is designed to be lightweight, follows [tidyverse](https://www.tidyverse.org/) principles and supports piping. Its validation functionality is limited to what is needed for reading and writing, see [frictionless-py](https://github.com/frictionlessdata/frictionless-py) for extensive validation.\n\n## Meta\n\n- We welcome [contributions](https://docs.ropensci.org/frictionless/CONTRIBUTING.html) including bug reports.\n- License: MIT\n- Get [citation information](https://docs.ropensci.org/frictionless/authors.html#citation) for frictionless in R doing `citation(\"frictionless\")`.\n- Please note that this project is released with a [Contributor Code of Conduct](https://frictionlessdata.io/work-with-us/code-of-conduct/). By participating in this project you agree to abide by its terms.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrictionlessdata%2Ffrictionless-r","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrictionlessdata%2Ffrictionless-r","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrictionlessdata%2Ffrictionless-r/lists"}