I've seen this lots of times, and just noticed it's also on the help page of
The default is c(5, 4, 4, 2) + 0.1
par(mar=c(0, 0, 0, 0) + 0.1)
I don't know, but S: An Interactive Environment for Data Analysis and Graphics (Becker and Chambers 1984, the first book on S, which is the ancestor of R) gives these defaults (search for
xrig) and says (p. 95)
(the appendix clarifies that this actually includes the additional 0.1, but doesn't give any additional explanation). I think that's the best you're going to do. John Chambers is still around; while he hasn't been active on the R-help mailing list since 2004 he continues to contribute to the development list ... even if you bug him, I'm not sure he would remember the rationale for a minor design decision he (or one of his co-authors) made more than 30 years ago ...
My own guess, for whatever that's worth, is that one might expect e.g. 4 lines' worth of material outside the left edge of the plot (e.g. ticks, tick labels, and a two-line axis label), with the 0.1 as "additional margin" so that text isn't exactly hitting the edge.