[R] Empirical P Value
(Ted Harding)
Ted.Harding at nessie.mcc.ac.uk
Tue Oct 26 22:21:51 CEST 2004
On 26-Oct-04 Phineas Campbell wrote:
> I am trying to return the p value for a stat from the ECDF.
> That is the index of the first occurrence, on an ordered vector,
> of a value either greater than or equal to a given value.
>
> Ideally I would not have to order the vector beforehand.
>
> Currently I use:
>
> PValue<-function(stat, ECDF){
> ###Get the length of the ECFD
> L<-length(ECDF)
> ###Loop through the ECDF until the p value is found
> for(i in 1:L){
> if(ECDF[i]>=stat){
> break
> }
> }
> ###Return the 3 values that bracket the p value
> c((i-1)/L, i/L, (i+1)/L)
> }
>
> Is there a way of doing this that avoids the explicit loop?
PValue<-function(stat, ECDF){
###Get the length of the ECFD
L<-length(ECDF)
i<-min(which(ECDF>=stat))
###Return the 3 values that bracket the p value
c((i-1)/L, i/L, (i+1)/L)
}
will do what your function does, without the loop.
Best wishes,
Ted.
--------------------------------------------------------------------
E-Mail: (Ted Harding) <Ted.Harding at nessie.mcc.ac.uk>
Fax-to-email: +44 (0)870 094 0861 [NB: New number!]
Date: 26-Oct-04 Time: 20:13:33
------------------------------ XFMail ------------------------------
More information about the R-help
mailing list