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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage