How to Use sign() Function in R (3 Examples)


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

Suppose we have the following data frame in R:

#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’.

Additional Resources

The following tutorials explain how to use other common functions in R:

How to Use the dim() Function in R
How to Use the transform() Function in R
How to Use the sweep() Function in R

Leave a Reply

Your email address will not be published.