[Rd] qt for df < 1
Luke Tierney
luke at stat.uiowa.edu
Fri Dec 9 17:05:26 CET 2005
On Thu, 8 Dec 2005, Peter Dalgaard wrote:
> roger koenker <rkoenker at uiuc.edu> writes:
>
>> I was experimenting yesterday with a binomial make.link option
>> for estimating student t binary response models, tentatively
>> called gossit, and I noticed eventually that the R qt function doesn't
>> like df < 1. Vaguely recalling that Splus didn't seem to mind such
>> weirdness, I checked on our soon to be defunct Splus6.2 and
>> sure enough, it produced plausible answers instead of R's NA's.
>> Of course, I have no way of judging the quality of these answers,
>> but I'm curious about whether someone has already looked into
>> this can of worms.
>
> Well the help page has:
>
> For 'qt' only values of at least one are currently supported.
>
> and someone must have written that...
>
> R does have pt for df < 1, so a temporary fix using uniroot() seems
> doable.
>
>
Something like
qqt<-function(p,df) sign(p-0.5)*sqrt(qf(1-2*pmin(p,1-p),1,df))
seems to do reasonably, at least in terms of consistency with pt, down
to 0.2 or mayby 0.1 df based on
f<-function(d, n = 101) {
x<-seq(0, 1, len = n)
max(abs(pt(qqt(x, d), d) - x))
}
plot(function(d) log10(sapply(d, f)), .01,1)
luke
--
Luke Tierney
Chair, Statistics and Actuarial Science
Ralph E. Wareham Professor of Mathematical Sciences
University of Iowa Phone: 319-335-3386
Department of Statistics and Fax: 319-335-3017
Actuarial Science
241 Schaeffer Hall email: luke at stat.uiowa.edu
Iowa City, IA 52242 WWW: http://www.stat.uiowa.edu
More information about the R-devel
mailing list