[R] summary() vs mean()
Prof Brian D Ripley
ripley at stats.ox.ac.uk
Thu Feb 1 09:04:28 CET 2001
On Wed, 31 Jan 2001, Marc R. Feldesman wrote:
> Forgive what may seem to be a trivial question/problem.
>
> Below is some simple R 1.2.1(Windows) code with output.
>
> > summary(mammals, digits=10)
> Name Body.Weight Brain.Weight
> Red Fox :1 Min. : 3.0 Min. : 26.0
> Pig :1 1st Qu.: 35.5 1st Qu.: 138.5
> Man :1 Median : 100.0 Median : 406.0
> Kangaroo:1 Mean : 761.2 Mean :1000.0
> Jaguar :1 3rd Qu.: 493.0 3rd Qu.: 667.5
> Horse :1 Max. :6654.0 Max. :5712.0
> (Other) :9
> > mean(mammals[,3])
> [1] 1000.467 # <---summary() reports it as 1000.0
> > mean(mammals[,2])
> [1] 761.2 # <- summary() reports it as 761.2
>
> I'm puzzled why the Brain.Weight mean from summary() is different from
> mean(mammals[,3]), while the Body.Weight means are identical in the two
> functions. This isn't limited to R; I've observed the same thing in S-Plus
> 2000 (and v.6 beta).
The results are to a certain number of significant figures, not decimal
places.
> I can get the "right" answer in S-Plus using the digits argument (setting
> digits=8), but this argument doesn't seem to have any effect in R 1.2.1. I
> *did* use it the way it is illustrated in the help file as well (e.g.
>
> summary(mammals, digits=max(10, getOption("digits")))
> )
> with the same results as above.
>
> So, I guess I have two questions:
>
> 1) Why does S (in both S-Plus and R 1.2.1) produce different values for
> the means in the second variable but not the first?
summary.default uses signif on the results, to by default 4 digits.
> 2) Why does the digits argument seem not to have any effect in R 1.2.1's
> summary()?
Because R forgot to pass it down to summary.default.
> P.S. I also pasted the example code from the summary help file into the R
> 1.2.1 window. The digits argument doesn't change the results there either.
In R and summary.data.frame, digits is only used in formatting the result.
Replace
z <- lapply(as.list(object), summary, maxsum = maxsum)
by
z <- lapply(as.list(object), summary, maxsum = maxsum, digits = digits)
in R.
Brian
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272860 (secr)
Oxford OX1 3TG, UK Fax: +44 1865 272595
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
More information about the R-help
mailing list