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:
Table of Contents
Round off Numbers in R Language
round(123.456,digits = 2) ## 123.46
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) ## -100
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) ## -123.5 signif(-123.456, digits=3) ## -123 signif(-123.456, digits=2) ## -120
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.