Doing mathematics with R: Functions
Default values for arguments of a function
You can give some function arguments a default value so that you can omit them in a function call. Consider the following example of a distance function
The Euclidean distance between two points and is given by
We define the function
distance
that calculates the distance between two points and in case there is only one point as an argument in a call to this function uses the default value for the second point. We use the coordinates of the points as 4 arguments to the function.
The R script
distance <- function(P1.x, P1.y, P2.x=0, P2.y=0) {
return( sqrt((P1.x-P2.x)^2+(P1.y-P2.y)^2) )
}
cat("distance between (1,2) and (3,4) =", distance(1,2,3,4), "\n")
cat("distance between (1,2) and (3,4) =", distance(1,2,4, P2.x=3), "\n")
cat("distance between (1,2) and (3,0) =", distance(1,2,1), "\n")
cat("distance between (1,2) and (0,0) =", distance(1,2), "\n")
yields the following result:
distance between (1,2) and (3,4) = 2.828427 distance between (1,2) and (3,4) = 2.828427 distance between (1,2) and (3,0) = 2 distance between (1,2) and (0,0) = 2.236068
Unlock full access