2016-11-09 5 views
-1

Мне нужно отсортировать десятичное значение числа в порядке убывания, чтобы я мог добавить его к числу с самым высоким десятичным значением.Доступ к десятичным значениям в R

Например, у меня есть:

1.5, 2.4, 6.7 и мне нужно всего этих трех чисел, чтобы быть 11. Округление до 1 целое число, я получить 1,2,6. Мне нужно добавить 2, чтобы достичь 11.

Я хотел бы добавить 1 к номерам с наивысшим десятичным разрядом, то есть к 1 и 6, а затем в итоге получим 2 + 2 + 7, что добавит до 11 Возможно ли это сделать в R? Можно ли получить доступ к десятичным знакам?

+0

Вы имеете в виду вы хотите, чтобы округлить их до ближайшего целого числа, а затем добавить? –

+1

Если это то, что вы имеете в виду ... тогда это должно работать сумма (round (c (1.5, 2.4, 6.7))) –

+0

Мне нужно убедиться, что, когда я добавлю числа, в итоге я получу всего 11. Так что я я сначала округляю до одного целого числа, а затем я хотел бы добавить 1 к целым числам с наивысшими десятичными знаками до тех пор, пока не достигнет 11. – Programmer1

ответ

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