View source: R/round_preserve_sum.R
round_preserve_sum | R Documentation |
In general, the sum of rounded numbers (e.g., using the
base::round
function) is not the same as their rounded sum.
This solution applies the following algorithm
Round down to the specified number of decimal places
Order numbers by their remainder values
Increment the specified decimal place of values with âkâ largest remainders, where âkâ is the number of values that must be incremented to preserve their rounded sum
round_preserve_sum(x, digits = 0)
x |
vector to sum |
digits |
number of decimals for rounding |
https://www.r-bloggers.com/round-values-while-preserve-their-rounded-sum-in-r/ and http://stackoverflow.com/questions/32544646/round-vector-of-numerics-to-integer-while-preserving-their-sum
sum(c(0.333, 0.333, 0.334))
round(c(0.333, 0.333, 0.334), 2)
sum(round(c(0.333, 0.333, 0.334), 2))
round_preserve_sum(c(0.333, 0.333, 0.334), 2)
sum(round_preserve_sum(c(0.333, 0.333, 0.334), 2))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.