Writing functions in R

Functions in R are objects that carry out operations on arguments that are supplied to them and return one or more values. The syntax for writing a function is

function (argument list) body

The first component of the function declaration is the keyword function, which indicates to R that you want to create a function. An argument list is a comma-separated list of formal arguments. A formal argument can be a symbol (i.e. a variable name such as x or y), a statement of the form symbol = expression (e.g. pch=16) or the special formal argument ... (triple dot). The body can be any valid R expression or set of R expressions. Generally, the body is a group of expressions contained in curly brackets { }, with each expression on a separate line. Functions are typically assigned to symbols, but they need not to be. This will only begin to mean anything after you have seen several examples in operation.

Arithmetic mean of a single sample

The mean is the sum of the numbers Σy divided by the number of numbers n = Σ 1 (summing over the number of numbers in the vector called y). The R function for n is length(y) and for Σy is sum(y), so a function to compute arithmetic means is

arithmetic.mean<-function(x)  sum(x)/length(x)

We should test the function with some data where we know the right answer:

y<-c(3,3,4,5,5)

arithmetic.mean(y)

[1]  4

Needless to say, there is a built-in function for arithmetic means called mean:

mean(y)

[1]  4

Median of a single sample

The median ...

Get The R Book now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.