我需要按降序对数字的十进制值进行排序,这样我就可以在具有最高十进制值的数字中加一。
例如我有:
1.5,2.4,6.7,我需要这三个数字的总和为11.舍入到1整数我将得到1,2,6。我需要添加2才能达到11。
我想将1加到具有最高小数位数的数字,即1和6,然后我最终得到2 + 2 + 7,加起来为11.是否可以在R中执行此操作?是否可以访问小数位?
答案 0 :(得分:1)
小数可以这样计算:
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