Gibt es einen Datentyp "Decimal" in R?
Ich habe Daten gelesen, die im Format gespeichert sindDECIMAL
aus einer MySQL-Tabelle. Ich möchte mit diesen Zahlen in R rechnen.
Früher habe ich sie mit einer numerischen Repräsentation besetztas.numeric()
, aber die Dokumentation sagt:
numerisch ist identisch mit double (und real).
Gibt es aber auch einen Datentyp Decimal in R? (Datentyp ohne Rundungsfehler, ...)
Hier ein einfaches Beispiel für das Problem mit Rundungsfehlern:
numbersStrings = c("0.1", "0.9")
numbersNumeric = as.numeric(numbersStrings)
numbersMirror = c(numbersNumeric, 1-numbersNumeric)
str(numbersMirror)
numbersMirror
unique(numbersMirror) # has two times 0.1 ...
sprintf("%.25f", numbersMirror)
sprintf("%.25f", unique(numbersMirror)) # ... because there was a rounding error