Get access to all lessons in this course.
-
Setup packages
- devtools and usethis
- Package names and authors
- Choose a license
- Setup git + GitHub
-
Write code
- Writing functions
- Adding functions to our package
- Using other packages
- Packages so good they get their own functions
- Organizing .R files
-
Document
- roxygen2: In-Line Documentation for R
- Argument descriptions and examples
- Helper functions
- Joining documentation
-
Test
- Unit tests for R
- Organizing tests
- R CMD Check
- Types of Test Files
- Test Coverage
-
Teach
- Examples
- README
- Spellcheck
-
Add data and files
- Store data and files
- Include data for tests and create RMarkdown templates
- Create other templates
- Launch and store Shiny apps
- Citations, ignoring files, and including add-ins
Package Development with R
Packages so good they get their own functions
This lesson is locked
This lesson is called Packages so good they get their own functions, part of the Package Development with R course. This lesson is called Packages so good they get their own functions, part of the Package Development with R course.
Transcript
Click on the transcript to go to that point in the video. Please note that transcripts are auto generated and may contain minor inaccuracies.
Your Turn
We need roxygen2 for this exercise. We’ll learn more about it in the next module. For now, just run use_roxygen_md()
Run use_tibble() and use_data_table()
In R/get_data.R, edit the function to be able to return a data table: Add the argument data_table = FALSE. If data_table is TRUE, convert the data frame with data.table::as.data.table()
Load the package and run this code to make sure it works
use_roxygen_md()
use_tibble()
use_data_table()
get_resident_data <- function(data_table = FALSE) {
residents_per_sector <- db_con("residents_per_sector")
if (data_table)
return(data.table::as.data.table(residents_per_sector))
tibble::as_tibble(residents_per_sector)
}
Your Turn 4 Stretch Goal
Run use_pipe() to add the magrittr pipe to your package. What changed?
You need to be signed-in to comment on this post. Login.