访问 R 中的十进制值

Accessing decimal values in R

我需要按降序对数字的十进制值进行排序,以便我能够将具有最高十进制值的数字加一。

例如我有:

1.5、2.4、6.7 我需要这三个数字的总和为 11。四舍五入为 1 个整数我将得到 1、2、6。我需要加 2 才能达到 11。

我想将 1 加到具有最高小数位的数字,即 1 和 6,然后我得到 2+2+7 加起来等于 11。是否可以在 R 中执行此操作?是否可以访问小数位?

小数可以这样计算:

decimals <- function(x) x-floor(x)

示例:

> decimals(3)
[1] 0
> decimals(3.123)
[1] 0.123
> decimals(3.98)
[1] 0.98
> decimals(5.5)
[1] 0.5
> decimals(1222.99999)
[1] 0.99999
> decimals(rnorm(10,sd=10))  # it is already vectorized
[1] 0.08650212 0.13957433 0.37153204 0.12571212 0.97804479 0.47355533
[7] 0.32244821 0.78559509 0.25393115 0.02253588