Introduction to Writing Functions in R
Richie Cotton
Data Evangelist at DataCamp
my_fun <- function(arg1, arg2) {
# Do something
}
The signature
function(arg1, arg2)
The body
{
# Do something
}
library(readr)
test_scores_geography_raw <- read_csv("test_scores_geography.csv")
library(dplyr)
library(lubridate)
test_scores_geography_clean <- test_scores_geography_raw %>%
select(person_id, first_name, last_name, test_date, score) %>%
mutate(test_date = mdy(test_date)) %>%
filter(!is.na(score))
library(readr)
test_scores_english_raw <- read_csv("test_scores_english.csv")
library(dplyr)
library(lubridate)
test_scores_english_clean <- test_scores_english_raw %>%
select(person_id, first_name, last_name, test_date, score) %>%
mutate(test_date = mdy(test_date)) %>%
filter(!is.na(score))
library(readr)
test_scores_art_raw <- read_csv("test_scores_art.csv")
library(dplyr)
library(lubridate)
test_scores_art_clean <- test_scores_art_raw %>%
select(person_id, first_name, last_name, test_date, score) %>%
mutate(test_date = mdy(test_date)) %>%
filter(is.na(score))
library(readr)
test_scores_spanish_raw <- read_csv("test_scores_spanish.csv")
library(dplyr)
library(lubridate)
test_scores_spanish_clean <- test_scores_spanish_raw %>%
select(person_id, first_name, last_name, test_date, score) %>%
mutate(test_date = mdy(test_date)) %>%
filter(!is.na(score))
import_test_scores <- function() {
}
import_test_scores <- function() {
test_scores_geography_raw <- read_csv("test_scores_geography.csv")
test_scores_geography_clean <- test_scores_geography_raw %>%
select(person_id, first_name, last_name, test_date, score) %>%
mutate(test_date = mdy(test_date)) %>%
filter(!is.na(score))
}
import_test_scores <- function(filename) { # <- only 1 argument
test_scores_geography_raw <- read_csv("test_scores_geography.csv")
test_scores_geography_clean <- test_scores_geography_raw %>%
select(person_id, first_name, last_name, test_date, score) %>%
mutate(test_date = mdy(test_date)) %>%
filter(!is.na(score))
}
import_test_scores <- function(filename) {
test_scores_geography_raw <- read_csv(filename) # <- replace specific filename
test_scores_geography_clean <- raw_data %>%
select(person_id, first_name, last_name, test_date, score) %>%
mutate(test_date = mdy(test_date)) %>%
filter(!is.na(score))
}
import_test_scores <- function(filename) {
test_scores_raw <- read_csv(filename) # <- variable names generalized
test_scores_clean <- test_scores_raw %>% # <- variable names generalized
select(person_id, first_name, last_name, test_date, score) %>%
mutate(test_date = mdy(test_date)) %>%
filter(!is.na(score))
}
import_test_scores <- function(filename) {
test_scores_raw <- read_csv(filename)
test_scores_raw %>% # <- remove assignment
select(person_id, first_name, last_name, test_date, score) %>%
mutate(test_date = mdy(test_date)) %>%
filter(!is.na(score))
}
test_scores_geography <- import_test_scores("test_scores_geography.csv")
test_scores_english <- import_test_scores("test_scores_english.csv")
test_scores_art <- import_test_scores("test_scores_art.csv")
test_scores_spanish <- import_test_scores("test_scores_spanish.csv")
x
: A vector of values to sample from.size
: How many times do you want to sample from x
?replace
: Should you sample with replacement or not?prob
: A vector of sampling weights for each value of x
, totaling one.Introduction to Writing Functions in R