In this data science tutorial, you will learn how to get the absolute value in R. Specifically, you will learn how to get the absolute value using the built-in function abs(). As you may already suspect, using abs()
is very easy and to take the absolute value from e.g. a vector you can type abs(YourVector)
. Furthermore, you will learn how to take the absolute value of both a matrix and a data frame. In the next section, you will get a brief overview of what is covered in this R tutorial.
Outline
The structure of the post is as follows. First, we will get the answer to a couple of simple questions. Note, most of them might actually be enough for you to understand how to get the absolute value using the R statistical programming environment. After this, you will learn what you need to know and have installed in your R environment to follow this post. Third, we will start by going into a more detailed example on how to take the absolute value of a vector in R. This section is followed by how to use the abs() function, again, on a matrix containing negative values. Finally, we will also have a look at how to take the absolute values in a data frame in R. This section will also use some of the functions of the dplyr (Tidyverse) package.
What is absolute value in R?
The absolute value in R is the non-negative value of x. To be clear, the absolute value in R is no different from that in any other programming language, as this has something to do with mathematics rather than a programming language. In the following FAQ, you will learn how to use the abs()
function to get absolute values of an e.g. vector.
How do you change negative numbers to positive in R?
To change the negative numbers to positive in R, we can use the abs()
function. For example, if we have the vector x
containing negative numbers, we can change them to positive numbers by typing abs(x)
in R.
Now that we have some basic understanding of how to change negative numbers to positive, ones by taking their absolute values we can go ahead and have a look at what we need to follow in this tutorial. That is, in the next section, you will learn about the requirements of this post.
Required Software/Packages
First of all, if you already have R installed you will also have the function abs() installed. However, if you want to use some functionality of the dplyr package (as in the later examples) you will also need to install dplyr (or Tidyverse). Moreover, if you want to read an .xlsx file in R with the readxl package you need to install it, as well. Here it might be worth pointing out that dplyr contains a lot of great functions. For example, you can use dplyr to remove columns in R as well as to select columns by e.g. name or index.

To install dplyr you can use the install.packages()
function. For example, to install the packages dplyr and readxl you type install.packages(c("dplyr", "readxl"))
. Note, you can change “dplyr” and “readxl” to “tidyverse” if you want to install all these packages as they are both part of the Tidyverse packages. In the next section, you will get the first example of how to take absolute value in R using the abs()
function.
Absolute Value in R: Example 1 from a Vector
Here’s how to take the absolute value from a vector in R:
# Creating a vector with negative values
negVec <- seq(-0.1, -1.1, by=-.1)
# R absolute value from vector
abs(negVec)
Code language: R (r)
In the code chunk above, we first created a sequence of numbers in R with the seq() method. As you may understand, all the numbers we generated were negative. In the second line, therefore, we used the abs()
function to take the absolute value of the vector. Here’s the output in which all the negative numbers are now positive:

In the next example, we are going to create a matrix filled with negative numbers and get the absolute values from the matrix.

Absolute Value in R: Example 2 from a Matrix
If we, on the other hand, have a matrix, here’s how to take the absolute value in R:
negMat <- matrix(
c(-2, -4, 3, 1, -5, 7,
-3, -1.1, -5, -3, -1,
-12, -1, -2.2, 1, -3.0),
nrow=4,
ncol=4)
# Take absolute value in R
abs(negMat)
Code language: R (r)
In the example above, we created a small matrix using the matrix()
function and, then, used the abs()
function to convert all negative numbers in this matrix to positive (i.e., take the absolute values of the matrix). This example will be followed by a couple of examples in which we will take the absolute values in data frames.

Now that you have changed the negative numbers to positive, you may want to quickly get Tukey’s five number summary statistics using the R function fivenum()
How to Take Absolute Value in R: X Examples with Dataframes
In this section, we will learn how to get the absolute value in dataframes in R. First, we will select one column and change it to absolute values. Second, we will select multiple columns, and again, use the abs()
function on these. Note, that here we will use the mutate()
function from dplyr. In the last example, we will also use the select_if()
function. This is dplyr function is great if we want to be able to use abs()
function on e.g. all numerical columns in a dataframe.
First, however, we are going to import the example dataset “r_absolute_value.xlsx” using the readxl package and read_excel()
function:
library(readxl)
dataf <- read_excel('./SimData/r_absolute_value.xlsx')
head(dataf)
Code language: JavaScript (javascript)

We are not getting into detail regarding reading .xlsx files in R. However, you can download the example dataset in the link above. If you store this .xlsx file in a subfolder to your r-script (see code above) you can just copy-paste the code chunk above. However, if you store it somewhere else on your computer you should change the path to the file’s location. In the next example, we are going to get the absolute value from a single column in the dataframe.
Absolute Value from a Column in a Dataframe
Here’s how to take the absolute value from one column in R and create a new column:
dataf$D.abs <- abs(dataf$D)
head(dataf)
Code language: R (r)

Note, that in the example above, we selected a column using the $-operator, and then we used the abs()
function to take the absolute value of this column. The absolute values of this column, in turn, were also added to a new column which we created, again, using the $-operator. It is, of course, also possible to use dplyr and the mutate()
function instead. Here’s another method, that we used to add a new column to a R dataframe as well as to add a column based on values in other columns in R. Here’s how to:
dataf <- dataf %>%
mutate(D.abs <- abs(D))
Code language: R (r)
Now, learning the above method is quite neat because it is a bit simpler to work with mutate()
compared to using only the $-operator. For example, we can make use of the %>%-operator as well (as in the example above). Furthermore, it will make the code look cleaner when creating more than one new column (as in the next example). In the next example, we re going to create two new columns by taking the absolute values of two other.
Absolute Value from Multiple Columns in R’s dataframe
Here’s how we would take two columns and get the absolute value from them:
library(dplyr)
dataf <- dataf %>%
mutate(F.abs = abs(F),
C.abs = abs(C))
Code language: HTML, XML (xml)

Again, we worked with the mutate()
function and created two new variables. Here it might be worth mentioning that if we only want to get the absolute values from the numerical columns in our dataframe without creating new variables, we can, instead, use the select()
function to select the specific columns. Here’s an example in which we select two columns and take their absolute value:
dataf <- dataf %>%
select(c(F, C)) %>%
abs()
Code language: R (r)
In the next section, we will use this newly learned method to take the absolute value in all the columns, that are numerical, in the dataframe. However, in this example, we are going to use the select_if()
function and only select the numerical columns. This is good to know because if we tried to run abs()
on the complete dataframe we would get an error. Specifically, this would return the error “Error in Math.data.frame(dataf) : non-numeric variable(s) in data frame: M”.

In the next section, we will work with the select_if()
function as well as the %>% operator, again. Another awesome operator in R is the %in% operator. Make sure you check this post out to learn more:
Absolut Value from al Numerical Columns in Dataframe in R
Here’s to apply the abs()
function on all the numerical columns in the dataframe:
dataf.abs <- dataf %>%
select_if(is.numeric) %>%
abs()
Code language: R (r)
Note, how we, again, used the %>%-operator (magittr but imported with dplyr) to apply the select_if()
on the dataframe. Again, we used the %>%-operator and applied the abs()
function to all the numerical columns. Notice how the new dataframe only contains numerical columns (and absolute values).

Now, before concluding this post it may be worth that, again, point out that the tidyverse package is a very handy package. That is, it comes with various packages that can be used for manipulating and cleaning your data. For example, you can use dplyr to rename factor levels in R , the lubridate package to extract year from date in R, and ggplot2 to create a scatter plot.
Conclusion
In this tutorial, you have learned about the absolute value, how to take the absolute value in R from 1) vectors, 2) matrices, and 3) columns in a dataframe. Specifically, you have learned how to use the abs() function to convert negative values to positive in a vector, a matrix, and a dataframe. When it comes to the dataframe you have learned how to select columns and convert them using r-base as well as dplyr. I really hope you learned something. If you did, please leave a comment below. You should also comment if you got a suggestion or correction to the blog post. Stay safe!