This course provides an in depth study of the R ecosystem and software development using R. This is less of a statistics course and more of a software development course using the Statistical Programming Language R. By the end of this course, you should be able to design and implement your own R packages using some of the advanced programming methods available from R.
All lecture material will be posted to my GitHub Pages website: https://dcgerard.github.io/advancedr/.
All assignments will be posted on GitHub Classroom: https://classroom.github.com/
All grades will be posted on Canvas: https://american.instructure.com/
Advanced R: https://adv-r.hadley.nz/index.html
R Packages: https://r-pkgs.org/
Rcpp for Everyone: https://teuder.github.io/rcpp4everyone_en/
R Studio: https://www.rstudio.com/
Windows Users will need to install Rtools: https://cran.r-project.org/bin/windows/Rtools/
Mac Users will need to install Xcode and a GNU Fortran Compiler: https://mac.r-project.org/tools/
R packages: After you have completed the above, run this in the R console
install.packages("BiocManager")
BiocManager::install(c("usethis",
"devtools",
"roxygen2",
"testthat",
"knitr",
"Rcpp",
"RcppArmadillo",
"covr"))
You can verify that you are all set up for R package development by running the following in R:
devtools::has_devel()
## Your system is ready to build packages!
Git and GitHub: Go through Setting up Git and GitHub.
Weekly Homeworks: 75%
Final Project: 25%
Usual grade cutoffs will be used:
Grade |
A |
A- |
B+ |
B |
B- |
C+ |
C |
C- |
D |
F |
Lower |
93 |
90 |
88 |
83 |
80 |
78 |
73 |
70 |
60 |
0 |
Upper |
100 |
92 |
89 |
87 |
82 |
79 |
77 |
72 |
69 |
59 |
Individual assignments will not be curved. However, at the discretion of the instructor, the overall course grade at the end of the semester may be curved.
I expect the vast majority of your homeworks to be turned in on the day they are due.
But let me know a few days ahead of time if you need a couple days.
Don’t abuse this policy, or I’ll change it.
Do not post homeworks online (e.g. Chegg, Course Hero, etc).
Standards of academic conduct are set forth in the university’s Academic Integrity Code. By registering for this course, students have acknowledged their awareness of the Academic Integrity Code and they are obliged to become familiar with their rights and responsibilities as defined by the Code. Violations of the Academic Integrity Code will not be treated lightly and disciplinary action will be taken should violations occur. This includes cheating, fabrication, and plagiarism.
I expect you to work with others and me, and I expect you to use online resources as you work on your assignments/projects. However, your submissions must be composed of your own thoughts, coding, and words. You should be able to explain your work on assignments/projects and your rationale. Based on your explanation (or lack thereof), I may modify your grade.
If you use an online resource, please cite it with a URL (this is perfectly fine!). If you do not understand an online resource, but believe it to be useful for a project/assignment, please ask me for help.
A short guide for students on how to meet the expectations of the AU’s Academic Integrity Code