Ich have a numeric value (x1=0.01
) which I want to format with two significant digits:
> p_digits <- 2
> x1 <- 0.01
> str(x1)
num 0.01
> formatC(x1, format = "fg", digits = p_digits, flag = "#", big.mark = "'")
which gives:
[1] "0.010"
Now, I retrieve the same value from a dataframe with structure
> str(df0)
'data.frame': 328 obs. of 5 variables:
$ analyse : chr "ALAT/GPT" "ALAT/GPT" "Albumin" "Albumin" ...
$ min : num NA 1 35 1 0 0 0 0 36 1 ...
$ max : num 35 5000 55 200 20 NA 30 7000 92 3000 ...
> x2 <- subset(df0, analyse == "somewhat")$min
> x2
[1] 0.01
> str(x2)
num 0.01
Now, if I format x2
I get:
> formatC(x2, format = "fg", digits = p_digits, flag = "#", big.mark = "'")
[1] "0.0100"
In summary, I have two numeric parameters x1
and x2
with both the same value 0.01 which gives me different outputs using formatC.
Update 1: The dataframe was built by importing a MySQL table with ODBC.
Update 2: Different results depending from figure with small deviation
> x3 <- 0.0101111
> formatC(x3, format = "fg", digits = 2, flag = "#", big.mark = "'")
[1] "0.010"
> x4 <- 0.0099999
> formatC(x4, format = "fg", digits = 2, flag = "#", big.mark = "'")
[1] "0.0100"
For me it is not clear why x4
gives 3 significant digits.