[Rd] wishlist -- Fix for major format.pval limitation (PR#9574)

Duncan Murdoch murdoch at stats.uwo.ca
Tue Mar 20 18:17:05 CET 2007


On 3/20/2007 12:44 PM, Gabor Grothendieck wrote:
> On 3/20/07, murdoch at stats.uwo.ca <murdoch at stats.uwo.ca> wrote:
>> On 3/20/2007 11:19 AM, charles.dupont at vanderbilt.edu 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



More information about the R-devel mailing list