GithubHelp home page GithubHelp logo

devrpkg's Introduction

Developing an R package: a tutorial

Author

Ghislain Durif (https://gdurif.perso.math.cnrs.fr/), CNRS -- LBMC (Lyon, France)

License: CC BY-SA 4.0

Content

See the introduction in the index file (md or pdf).

All other contents are available in the content directory.

Summary

R packages are a great way to write and structure your R codes, to facilitate the use, re-use and evolution of your codes, for others but also for your future self. Through an R package, you can write and distribute R codes with documentation, examples, automatic tests, etc., and it gives you a framework to follow development and coding good practices.

In this tutorial, we will first see the key points and recipe to construct a working R package: the structure of the package, the documentation of the code, the workflow for the package creation and validation. The R ecosystem now provides versatile tools, such as the packages devtools, usethis, roxygen2 and lintr, in combination with the Rstudio IDE (Integrated Development Environment), that can help you develop R packages seamlessly.

In a second part, we will cover (with more or less details) more advanced tools and frameworks to bring your R package to the next level, including quality control and validation of your code based on automatic testing of your code, sharing and publication of your code (through official repositories, git repositories, a dedicated website), more complete documentation of your codes with article or notebook-like document, using other programming languages in R, etc.

devrpkg's People

Contributors

gdurif avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.