How to Round Off Numbers in R Language

The R language is capable of performing from easy to advanced numerical calculations. Although R can compute any computation up to 16 digits accurately, a user may not always want to use (or get) that too many digits in his final results or computations. In such cases, one can use a couple of functions to round off numbers in R Language. To round off a number to two or more digits after the decimal point, one can use the round() function as follows:

Round off Numbers in R Language

round(123.456,digits = 2)


One can also use the round() function to round off numbers to multiples of 10, 100, and so on. For that purpose, one just needs to add a negative number as the digits argument: For example

round(-123.456,digits = -2)

Round of Numbers in R Language

Significant Digits in R Language

If someone needs to specify the number of significant digits to be retained, regardless of the size of the number, you use the signif() function instead:

signif(-123.456,digits = 4)

signif(-123.456, digits=3)

signif(-123.456, digits=2)

Both round() and signif() round off the numbers to the nearest possible number. So, if the first digit that is dropped is smaller than 5, the number is rounded down. If the number is bigger than 5, the number is rounded up. On the other hand, if the first digit that is dropped is exactly 5, R Language uses a rule that is common in programming languages: Always round to the nearest even number. For example, round(1.5) and round(2.5) both return 2, Similarly, for example, round(-4.5) returns -4.

Rounding off Numbers floor(), ceiling(), and trunc() Functions

Contrary to round(), three other functions always round off the numbers in the same direction:

floor(x) rounds to the nearest integer that is smaller than $x$. So, floor(123.45) becomes 123 and floor(-123.45) becomes –124.

ceiling(x) rounds to the nearest integer that’s larger than $x$. This means ceiling(123.45) becomes 124 and ceiling(-123.45) becomes –123.

trunc(x) rounds to the nearest integer in the direction of 0. So, trunc(123.65) becomes 123 and trunc(-123.65) becomes –123.

Leave a Reply

Discover more from R Language Frequently Asked Questions

Subscribe now to keep reading and get access to the full archive.

Continue reading