pbetaRv1 {DPQ} | R Documentation |

## Pure R Implementation of Old pbeta()

### Description

`pbetaRv1()`

is an implementation of the original
(“version 1” `pbeta()`

function in **R** (versions <=
2.2.x), before we started using TOMS 708 `bratio()`

instead, see
that help page also for references.

`pbetaRv1()`

is basically a manual translation from C to **R** of the
underlying `pbeta_raw()`

C function, see in **R**'s source tree at
https://svn.r-project.org/R/branches/R-2-2-patches/src/nmath/pbeta.c

For consistency within **R**, we are using **R**'s argument names
`(q, shape1, shape2)`

instead of C code's
`(x, pin, qin )`

.

It is only for the *central* beta distribution.

### Usage

```
pbetaRv1(q, shape1, shape2, lower.tail = TRUE,
eps = 0.5 * .Machine$double.eps,
sml = .Machine$double.xmin,
verbose = 0)
```

### Arguments

`q` , `shape1` , `shape2` |
non-negative numbers, q in |

`lower.tail` |
indicating if |

`eps` |
the tolerance used to determine congerence. |

`sml` |
the smallest positive number on the typical platform. The
default |

`verbose` |
integer indicating the amount of verbosity of
diagnostic output, |

### Value

a number.

### Note

The C code contains

*
This routine is a translation into C of a Fortran subroutine
by W. Fullerton of Los Alamos Scientific Laboratory.*

### Author(s)

Martin Maechler

### References

(From the C code:)

Nancy E. Bosten and E.L. Battiste (1974).
Remark on Algorithm 179 (S14): Incomplete Beta Ratio.
*Communications of the ACM*, **17**(3), 156–7.

### See Also

### Examples

```
all.equal(pbetaRv1(1/4, 2, 3),
pbeta (1/4, 2, 3))
set.seed(101)
N <- 1000
x <- sample.int(7, N, replace=TRUE) / 8
a <- rlnorm(N)
b <- 5*rlnorm(N)
pbt <- pbeta(x, a, b)
for(i in 1:N) {
stopifnot(all.equal(pbetaRv1(x[i], a[i], b[i]), pbt[i]))
cat(".", if(i %% 20 == 0) paste0(i, "\n"))
}
```

*DPQ*version 0.5-8 Index]