47

Is there a constant that stores the machine epsilon in R?

Michael Haren
  • 105,752
  • 40
  • 168
  • 205
xiaodai
  • 14,889
  • 18
  • 76
  • 140

3 Answers3

61

Try .Machine$double.eps -- and .Machine which on my 32-bit Linux machine yields this:

R> .Machine
$double.eps
[1] 2.220e-16

$double.neg.eps
[1] 1.110e-16

$double.xmin
[1] 2.225e-308

$double.xmax
[1] 1.798e+308

$double.base
[1] 2

$double.digits
[1] 53

$double.rounding
[1] 5

$double.guard
[1] 0

$double.ulp.digits
[1] -52

$double.neg.ulp.digits
[1] -53

$double.exponent
[1] 11

$double.min.exp
[1] -1022

$double.max.exp
[1] 1024

$integer.max
[1] 2147483647

$sizeof.long
[1] 4

$sizeof.longlong
[1] 8

$sizeof.longdouble
[1] 12

$sizeof.pointer
[1] 4

R> 
Dirk Eddelbuettel
  • 360,940
  • 56
  • 644
  • 725
13

I believe that you want .Machine$double.eps.

Shane
  • 98,550
  • 35
  • 224
  • 217
4

I know this thread is 5 years old, but I just wanted to point out that these are standard values for the IEEE single-precision and double-precision standard, which is used by the vast majority of consumer-level statistics packages.

Nester
  • 41
  • 1