2017-09-09 3 views
0

Ich habe über 10.000 Testergebnisse in meinem Datenrahmen, die falsch berechnet wurden. Sie sehen wie folgt aus:Runde Werte zu den nächsten zehn oder hundert in R?

Student Computed Score 
1   71.00 
2   55.3489 
3   2000.11111 
4   1689.66 

ich sie auf den nächsten runden möchten '10' (Variable 1: 71 = 70, 1689,66 = 1690) und auch zur nächsten '100' (Variable 2: 71 = 100 , 1689.66 = 1700). Weil die ursprünglichen Werte mit 10-Punkt-Inkrementen und 100-Punkt-Demarkationen berechnet wurden. Ich versuchte:

df$Var1<-round(df$Computed_Score, 2)
aber es rundete die Dezimalstellen auf 2 Werte (2000.11111 wurde 2000.11, was nicht hilfreich ist).

Antwort

3

Vielleicht das Folgende wird es tun.

x <- scan(text = " 
71.00 
55.3489 
2000.11111 
1689.66") 
x 

round_to <- function(x, to = 10) round(x/to)*to 

round_to(x) 
round_to(x, 100) 
Verwandte Themen