R6

Encapsulated object-oriented programming for R

https://github.com/r-lib/r6

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    3 of 19 committers (15.8%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.3%) to scientific vocabulary

Keywords

r

Keywords from Contributors

visualisation date-time tidy-data data-manipulation grammar rmarkdown package-creation curl missingness latex
Last synced: 10 months ago · JSON representation

Repository

Encapsulated object-oriented programming for R

Basic Info
  • Host: GitHub
  • Owner: r-lib
  • License: other
  • Language: R
  • Default Branch: main
  • Homepage: https://R6.r-lib.org
  • Size: 15.1 MB
Statistics
  • Stars: 425
  • Watchers: 23
  • Forks: 59
  • Open Issues: 56
  • Releases: 4
Topics
r
Created about 12 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog License Codeowners

README.md

R6: Encapsulated object-oriented programming for R

R-CMD-check <!-- badges: end -->

R6 is an implementation of encapsulated object-oriented programming for R, and is a simpler, faster, lighter-weight alternative to R's built-in reference classes. This style of programming is also sometimes referred to as classical object-oriented programming.

Some features of R6:

  • R6 objects have reference semantics.
  • R6 cleanly supports inheritance across packages.
  • R6 classes have public and private members.

In contrast to R's reference classes, R6 is not built on the S4 class system, so it does not require the methods package. Unlike reference classes, R6 classes can be cleanly inherited across different packages.

See the Introduction article for usage examples.

Installation

To install R6 from CRAN:

R install.packages('R6')

To install the development version (requires the devtools package):

R devtools::install_github('r-lib/R6', build_vignettes = FALSE)

Documentation

Why R6?

Why the name R6? When R's reference classes were introduced, some users, following the names of R's existing class systems S3 and S4, called the new class system R5 in jest. Although reference classes are not actually called R5, the name of this package and its classes takes inspiration from that name.

The name R5 was also a code-name used for a different object system started by Simon Urbanek, meant to solve some issues with S4 relating to syntax and performance. However, the R5 branch was shelved after a little development, and it was never released.

Owner

  • Name: R infrastructure
  • Login: r-lib
  • Kind: organization

GitHub Events

Total
  • Create event: 3
  • Release event: 3
  • Issues event: 10
  • Watch event: 11
  • Delete event: 1
  • Issue comment event: 18
  • Push event: 18
  • Pull request review event: 1
  • Pull request event: 2
  • Fork event: 2
Last Year
  • Create event: 3
  • Release event: 3
  • Issues event: 10
  • Watch event: 11
  • Delete event: 1
  • Issue comment event: 18
  • Push event: 18
  • Pull request review event: 1
  • Pull request event: 2
  • Fork event: 2

Committers

Last synced: 12 months ago

All Time
  • Total Commits: 546
  • Total Committers: 19
  • Avg Commits per committer: 28.737
  • Development Distribution Score (DDS): 0.178
Past Year
  • Commits: 15
  • Committers: 2
  • Avg Commits per committer: 7.5
  • Development Distribution Score (DDS): 0.333
Top Committers
Name Email Commits
Winston Chang w****n@s****g 449
Indrajeet Patil p****e@g****m 33
Hadley Wickham h****m@g****m 16
Gabor Csardi c****r@g****m 10
Sergio Oller s****r@g****m 9
Kirill Müller k****r@m****g 7
Kirill Müller k****r@i****h 5
Richard Cotton r****3@q****u 3
Barret Schloerke s****e@g****m 2
Mara Averick m****k@g****m 2
Oscar de Lama o****a 2
Colin Fay c****t@c****e 1
David J. Harris d****s 1
Gregory Jefferis j****s@g****m 1
Johannes Ranke j****e@u****e 1
Tracy Teal t****l@g****m 1
Joshua Ulrich j****h@g****m 1
i i****s@s****g 1
iago-pssjd 4****d 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 93
  • Total pull requests: 36
  • Average time to close issues: 6 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 69
  • Total pull request authors: 10
  • Average comments per issue: 2.43
  • Average comments per pull request: 1.67
  • Merged pull requests: 25
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 8
  • Pull requests: 6
  • Average time to close issues: 1 day
  • Average time to close pull requests: about 7 hours
  • Issue authors: 8
  • Pull request authors: 2
  • Average comments per issue: 0.13
  • Average comments per pull request: 0.33
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • wch (6)
  • mattwarkentin (6)
  • IndrajeetPatil (5)
  • mmuurr (3)
  • jennybc (3)
  • mb706 (2)
  • dmurdoch (2)
  • romainfrancois (2)
  • dipterix (2)
  • hadley (2)
  • iqis (2)
  • ilyaZar (1)
  • ifellows (1)
  • johanneswaage (1)
  • hriebl (1)
Pull Request Authors
  • IndrajeetPatil (18)
  • hadley (10)
  • wch (4)
  • zeehio (1)
  • tracykteal (1)
  • jakob-r (1)
  • iago-pssjd (1)
  • richierocks (1)
  • jeroen (1)
  • schloerke (1)
Top Labels
Issue Labels
feature (13) documentation (4)
Pull Request Labels

Packages

  • Total packages: 3
  • Total downloads:
    • cran 1,105,826 last-month
  • Total docker downloads: 212,374,603
  • Total dependent packages: 586
    (may contain duplicates)
  • Total dependent repositories: 2,909
    (may contain duplicates)
  • Total versions: 49
  • Total maintainers: 1
cran.r-project.org: R6

Encapsulated Classes with Reference Semantics

  • Versions: 17
  • Dependent Packages: 586
  • Dependent Repositories: 2,909
  • Downloads: 1,105,826 Last month
  • Docker Downloads: 212,374,603
Rankings
Downloads: 0.1%
Dependent repos count: 0.1%
Dependent packages count: 0.2%
Stargazers count: 0.9%
Forks count: 1.2%
Average: 3.3%
Docker downloads count: 17.3%
Maintainers (1)
Last synced: 10 months ago
proxy.golang.org: github.com/r-lib/r6
  • Versions: 16
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.5%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 10 months ago
proxy.golang.org: github.com/r-lib/R6
  • Versions: 16
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.5%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 10 months ago

Dependencies

DESCRIPTION cran
  • R >= 3.0 depends
  • lobstr * suggests
  • testthat >= 3.0.0 suggests