On 3/20/2007 1:40 PM, Gabor Grothendieck wrote: > On 3/20/07, Duncan Murdoch <[EMAIL PROTECTED]> wrote: >> On 3/20/2007 12:44 PM, Gabor Grothendieck wrote: >> > On 3/20/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: >> >> On 3/20/2007 11:19 AM, [EMAIL PROTECTED] wrote: >> >> > Full_Name: Charles Dupont >> >> > Version: 2.4.1 >> >> > OS: linux 2.6.18 >> >> > Submission from: (NULL) (160.129.129.136) >> >> > >> >> > >> >> > 'format.pval' has a major limitation in its implementation. For example >> >> > suppose a person had a vector like 'a' and the error being ±0.001. >> >> > >> >> > > a <- c(0.1, 0.3, 0.4, 0.5, 0.3, 0.0001) >> >> > > format.pval(a, eps=0.01) >> >> > >> >> > If that person wants to have the 'format.pval' output with 2 digits >> >> > always >> >> > showing (like passing nsmall=2 to 'format'). That output would look like >> >> > this. >> >> > >> >> > [1] "0.10" "0.30" "0.40" "0.50" "0.30" "<0.01" >> >> > >> >> > That output is currently impossible because format.pval can only >> >> > produce output like this. >> >> > >> >> > [1] "0.1" "0.3" "0.4" "0.5" "0.3" "<0.01" >> >> > >> >> > >> >> > --------------------------------------------------------------- >> >> > a <- c(0.1, 0.3, 0.4, 0.5, 0.3, 0.0001) >> >> > format.pval(a, eps=0.01) >> >> >> >> But there's a very easy workaround: >> >> >> >> format.pval(c(0.12, a), eps=0.01)[-1] >> >> >> >> gives you what you want (because the 0.12 forces two decimal place >> >> display on all values, and then the [-1] removes it). >> >> >> > >> > Clever, but the problem would be that summary.lm, etc. call format.pval so >> > the >> > user does not have a chance to do that. >> >> I don't see how this is relevant. summary.lm doesn't let you pass a new >> eps value either. Adding an "nsmall=2" argument to format.pval wouldn't >> help with the display in summary.lm. >> >> I suppose we could track down every use of format.pval in every function >> in every package and add nsmall and eps as arguments to each of them, >> but that's just ridiculous. People should accept the fact that R >> doesn't produce publication quality text, it just provides you with ways >> to produce that yourself. >> >> Duncan Murdoch >> > > You are right in terms of my example which was not applicable but I > think in general that format.pval is used from within other routines rather > than > directly by the user so the user may not have a chance to massage it > directly.
Right, but this means that it is more or less useless to change the argument list for format.pvals in the way Charles suggested, because all of the existing uses of it would ignore the new parameters. It would not be so difficult to change the behaviour of format.pvals so that for example "digits=2" implied the equivalent of "nsmall=2", but I don't think that's a universally desirable change. The difficulty here is that different people have different tastes for presentation-quality text. Not everyone would agree that the version with trailing zeros is preferable to the one without. R should be flexible enough to allow people to customize their displays, but not necessarily by having every print method flexible enough to satisfy every user: sometimes users need to construct their own output formats. Duncan Murdoch ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel