Rounding is a process of approximating a number to a shorter, simpler, and more interpretable value while retaining its closeness to the original value. For example, if you are working in the finance division, you often publish a research report on the economy, where numbers in reports often round to 2 decimal points.
Here are some basic different types of rounding we use in our day-to-day life:
Here are five ways to round numbers in R:
The round() function rounds numbers to the nearest integer or specified decimal places. For example, round(2.7) would give 3, and round(2.123, digits=1) would be 2.1. You can use it in general-purpose rounding where minor edge-case differences are acceptable.
num_vec <- c(11.23, 46.56, -21.89, -12.14)
round(num_vec)
Output
[1] 11 47 -22 -12
The signif() function rounds the value to a specified number of significant digits. It means keeping the first few most significant digits and rounding off the rest.
For example, signif(123456, digits=3) would give 123000. This type of rounding is helpful when you are dealing with a very large number and want to maintain a certain precision.
num_vec <- c(11.23, 46.56, 21.89)
# round each number to one significant digit
signif(num_vec, 1)
Output
[1] 10 50 20
Here is the explanation of the output:
The ceiling() function rounds up the value to the nearest integer. It is helpful in rounding up regardless of the decimal value. The output value >= the input value.
For example, ceiling(2.3) gives us 3. The real-life application for the ceiling is allocating space/resources.
num_vec <- c(11.23, 46.56, -21.89)
ceiling(num_vec)
Output
[1] 12 47 -21
Here is the explanation of the output:
The floor() function rounds down the value to the next nearest integer. It works opposite of the ceiling() function.
num_vec <- c(11.2313, 46.5633, -21.89)
floor(num_vec)
Output
[1] 11 46 -22
If you round down 11.2313, it will return 11, which is the nearest integer. For 46.5633, it will return 46, and For -21.89, it will return -22.
The trunc() function always truncates (cuts off) decimal places from values, effectively rounding towards zero. So, trunc(2.7) is 2 and trunc(-2.7) is -2. That’s different from the floor(), which would give -3 for -2.7.
num_vec <- c(19.21, 21.4619, -21.18)
trunc(num_vec)
Output
[1] 19 21 -21
The truncation of 19.21 is 19 because after removing .21, 19 is near to 0. So, the output is 19.
The truncation of 21.4619 is 21 because after removing .4619, 21 is near to 0. So, the output is 21.
The truncation of -21.18 is -21 because after removing .18, -21 is near to 0. So, the output is -21.
That’s it.
Krunal Lathiya is a seasoned Computer Science expert with over eight years in the tech industry. He boasts deep knowledge in Data Science and Machine Learning. Versed in Python, JavaScript, PHP, R, and Golang. Skilled in frameworks like Angular and React and platforms such as Node.js. His expertise spans both front-end and back-end development. His proficiency in the Python language stands as a testament to his versatility and commitment to the craft.
Before executing an operation on an object, it is advisable to check its length, as…
Whether you want to add new data to your existing datasets or create new variables…
The square root of a number is a value that is multiplied by itself, giving…
Duplicate rows refer to all the values across all columns that are the same in…
A vector is a data structure that holds the same type of data. When working…
For string operations like comparing strings, data standardization, formatting output, or input validation, we may…
View Comments
This a great feature. Really Cool. Respect an opportunity to get super stats regarding units blogs and forums, too! I serious like everything about this wundabar artical...