# 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  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)

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