Table of Contents
The sign() function in R is a mathematical function that returns -1, 0, or 1 depending on the sign of a numeric value. It is useful for quickly returning a numeric vector with the sign of the input values. Three examples of how to use the sign() function in R are finding the sign of a single numeric value, finding the sign of multiple numeric values, and finding the sign of a vector of numeric values.
You can use the sign() function in base R to return the sign of each element in a vector.
This function uses the following basic syntax:
sign(x)
where:
- x: A numeric vector
The function will return:
- -1: If a value is negative
- 0: If a value is zero
- 1: If a value is positive
The following examples show how to use the sign() function in different scenarios.
Example 1: Use sign() with Vector
The following code shows how to use the sign() function to display the sign of each value in a numeric vector:
#define vector of values x <- c(-3, 0, 3) #return sign of each element in vector sign(x) [1] -1 0 1
Here’s how to interpret the output:
- The first value is -1 since the first value in the vector is negative.
- The second value is 0 since the second value in the vector is zero.
- The third value is 1 since the third value in the vector is positive.
Example 2: Use sign() with Data Frame Column
The following code shows how to use the sign() function to display the sign of each value in a column of a data frame:
#create data frame df <- data.frame(x=c(0, 1.4, -1, 5, -4, 12), y=c(3, 4, 3, 6, 10, 11)) #view data frame df x y 1 0.0 3 2 1.4 4 3 -1.0 3 4 5.0 6 5 -4.0 10 6 12.0 11 #view sign of each value in column x sign(df$x) [1] 0 1 -1 1 -1 1
Example 3: Use sign() to Create New Data Frame Column
#create data frame df <- data.frame(x=c(0, 1.4, -1, 5, -4, 12), y=c(3, 4, 3, 6, 10, 11)) #view data frame df x y 1 0.0 3 2 1.4 4 3 -1.0 3 4 5.0 6 5 -4.0 10 6 12.0 11
The following code shows how to use the sign() function to create a new column called ‘z’ whose values are dependent on the values in the existing column ‘x’:
#create new column 'z' based on sign of values in column 'x' df$z <- with(df, ifelse(sign(x) == -1, 'negative', ifelse(sign(x) == 0, 'zero', 'positive'))) #view updated data frame df x y z 1 0.0 3 zero 2 1.4 4 positive 3 -1.0 3 negative 4 5.0 6 positive 5 -4.0 10 negative 6 12.0 11 positive
Notice that the values in column ‘z’ correspond to the sign of the values in column ‘x’.
The following tutorials explain how to use other common functions in R: