Introductie tot functies schrijven in R
Richie Cotton
Data Evangelist at DataCamp
toss_coin <- function(n_flips, p_head) {
coin_sides <- c("head", "tail")
weights <- c(p_head, 1 - p_head)
sample(coin_sides, n_flips, replace = TRUE, prob = weights)
}
Stel de standaardwaarde in de handtekening in
toss_coin <- function(n_flips, p_head = 0.5) {
coin_sides <- c("head", "tail")
weights <- c(p_head, 1 - p_head)
sample(coin_sides, n_flips, replace = TRUE, prob = weights)
}
my_fun <- function(data_arg1, data_arg2, detail_arg1 = default1) {
# Do something
}
args(median)
function (x, na.rm = FALSE, ...)
library(jsonlite)
args(fromJSON)
function (txt, simplifyVector = TRUE, simplifyDataFrame = simplifyVector,
simplifyMatrix = simplifyVector, flatten = FALSE, ...)
Volgens conventie betekent dit:
De functie behandelt dit argument speciaal. Lees de documentatie.
args(set.seed)
function (seed, kind = NULL, normal.kind = NULL)
match.arg() aan in de body.args(prop.test)
function (x, n, p = NULL, alternative = c("two.sided", "less", "greater"),
conf.level = 0.95, correct = TRUE)
In de body
alternative <- match.arg(alternative)
cut_by_quantile <- function(x, n, na.rm, labels, interval_type) {
probs <- seq(0, 1, length.out = n + 1)
quantiles <- quantile(x, probs, na.rm = na.rm, names = FALSE)
right <- switch(interval_type, "(lo, hi]" = TRUE, "[lo, hi)" = FALSE)
cut(x, quantiles, labels = labels, right = right, include.lowest = TRUE)
}
x: Een numerieke vector om te categoriserenn: Aantal categorieën om x in te delenna.rm: Moeten missende waarden worden verwijderd?labels: Tekstlabels voor de categorieëninterval_type: Moeten intervallen links of rechts open zijn?
quantile(cats$Hwt)
0% 25% 50% 75% 100%
6.300 8.950 10.100 12.125 20.500

cut(x, quantile(x))
Introductie tot functies schrijven in R