[R] qt with df<1 (repost)

Peter Dalgaard p.dalgaard at biostat.ku.dk
Sun Oct 12 17:09:10 CEST 2008


Prof Brian Ripley wrote:
> Please do RTFM, for the help says
>
>       df: degrees of freedom (> 0, maybe non-integer).  'df = Inf' is
>           allowed.  For 'qt' only values of at least one are currently
>           supported.
>
> On Sun, 12 Oct 2008, Enrico Rossi wrote:
>
>> Sorry about the html-formatted message. Here it is again in plain text.
>>
>> Hello,
>>
>> The function qt returns NaN for degrees of freedom <1. For example:
>>
>>> qt(0.5,0.5)
>> [1] NaN
>> Warning message:
>> In qt(p, df, lower.tail, log.p) : NaNs produced
>>
>> But qt(0.5,0.5) should be 0, since the distribution is symmetric.
>>
>>> pt(0,0.5)
>> [1] 0.5
>>
>> It actually fails with any value, as long as df<1.
>> Is this a bug, or is there some fundamental reason why this cannot be
>> computed?
>
> Neither ....
Well, presumably, it is using an algorithm that only works for df >=1. 
However, qf() works fine with df1 < 1, so there's a fairly easy workaround.

-- 
   O__  ---- Peter Dalgaard             Øster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark      Ph:  (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)              FAX: (+45) 35327907



More information about the R-help mailing list