2013-04-28 3 views
2

Я пытаюсь округлить число округлыми единицами.Круглый номер округлыми единицами в R

Например,

value <- c(8.21,1.76, 6.42,1.94,10.38) 

если округление блок 0,2, то результаты будут

(8.2, 1.8, 6.4, 2.0, 10.4). 

Как я могу это сделать в R? Спасибо за ваши материалы.

+0

Ваш результат является неправильным. Это 1.9, а не 2.0. Попробуйте 'round (value, 1)'. –

+2

@ RomanLuštrik 1.94 ближе к 2.0, чем 1.8, и это то, что я думаю, что OP означает 0.2 в качестве округления. –

+0

@GavinSimpson Думаю, я, должно быть, повредил свой хрустальный шар, когда вчера уронил его. :) –

ответ

6
round.to <- function(x, b) { 
    round(x/b)*b 
} 

round.to(value, .2) 
## [1] 8.2 1.8 6.4 2.0 10.4 

Этот метод также работает для б> 1:

round.to(value, 2) 
## [1] 8 2 6 2 10 
Смежные вопросы