2013-10-30 30 views
1

我有一個向量給定的X:R;舍向上或向下給出一個向量

x = c(0.71428571, 0.23809524, 0.04761905) 

我想圓向上或向下基於矢量到其最近0.05的數量。所以在上面的例子中,我希望能夠得到x = c(0.70,0.25,0.05)

我試過round(x,2)但這並不奏效,因爲我得到了0.71 0.24 0.05

此外,它應該能夠推廣,如果我想要它到最接近的0.01或0.10等等。所以例如上面給出的向量x = 0.10將等於c(0.70,0.20,0)

有什麼想法?

+1

http://stackoverflow.com/search?q=[r]+round+to+the+nearest – Henrik

+0

不是一個真正的'R'問題,因爲該解決方案依賴於理解和四捨五入比sigfigs更多碼。 –

回答

1

這是一種方法。

nearest <- 0.05 
((x + nearest/2) %/% nearest) * nearest 
# [1] 0.70 0.25 0.05