https://github.com/laderast/oop_talk
Object Oriented Systems in R Talk
https://github.com/laderast/oop_talk
object-oriented-programming r r6 s3 s4
Last synced: 2 months ago
JSON representation
Object Oriented Systems in R Talk
- Host: GitHub
- URL: https://github.com/laderast/oop_talk
- Owner: laderast
- License: mit
- Created: 2019-03-27T21:17:26.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-07-03T17:08:19.000Z (over 6 years ago)
- Last Synced: 2025-09-25T07:33:24.532Z (3 months ago)
- Topics: object-oriented-programming, r, r6, s3, s4
- Language: R
- Homepage:
- Size: 597 KB
- Stars: 7
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Slides and Project Workspace for Object Oriented Systems in R: S3, S4, and R6
Scott Chamberlain and Ted Laderas
## Required Packages
```
install.packages(c("R6", "here", "dplyr"))
```
## Getting Started
1. Clone/Download this Repository
2. Unzip (if necessary) to a folder
3. Open the `oop_talk.rproj` file in RStudio
## Talk Material
- [Intro Slides](http://laderast.github.io/oop_talk/)
- [S3 Classes Slides](https://scotttalks.info/rs3/) - Also see `S3-objects.Rmd` and `S3-objects.R`
- [S4 Classes Programming Notebook](http://laderast.github.io/oop_talk/S4-objects.nb.html) - Open up `S4-objects.Rmd` (R Notebook)
- [R6 Classes Programming Notebook](http://laderast.github.io/oop_talk/R6-objects.nb.html) - Open up `R6-objects.Rmd` (R Notebook)
## Acknowledgements
Portions of this tutorial are gratefully derived from:
- [Hadley Wickham: Advanced R on R's Object systems](http://adv-r.had.co.nz/OO-essentials.html)
- [S4 Classes and Methods](https://kasperdanielhansen.github.io/genbioconductor/html/R_S4.html)
- [A practical Tutorial on S4 Programming](https://www.bioconductor.org/help/course-materials/2013/CSAMA2013/friday/afternoon/S4-tutorial.pdf)
- [S4 Classes](https://www.cyclismo.org/tutorial/R/s4Classes.html)
- [Advanced R](https://adv-r.hadley.nz/)
Thanks to Jim Tyhurst for pointing out that I was mixing multiple inheritance with polymorphism. This mistake has been corrected throughout the material.
## License
All code is licensed with a MIT License (see LICENSE.txt)
All Material is CC 4.0 By (Please link to us if you use this material!)