Geometric {stats}  R Documentation 
Density, distribution function, quantile function and random
generation for the geometric distribution with parameter prob
.
dgeom(x, prob, log = FALSE)
pgeom(q, prob, lower.tail = TRUE, log.p = FALSE)
qgeom(p, prob, lower.tail = TRUE, log.p = FALSE)
rgeom(n, prob)
x, q 
vector of quantiles representing the number of failures in a sequence of Bernoulli trials before success occurs. 
p 
vector of probabilities. 
n 
number of observations. If 
prob 
probability of success in each trial. 
log, log.p 
logical; if TRUE, probabilities p are given as log(p). 
lower.tail 
logical; if TRUE (default), probabilities are

The geometric distribution with prob
= p
has density
p(x) = p {(1p)}^{x}
for x = 0, 1, 2, \ldots
, 0 < p \le 1
.
If an element of x
is not integer, the result of dgeom
is zero, with a warning.
The quantile is defined as the smallest value x
such that
F(x) \ge p
, where F
is the distribution function.
dgeom
gives the density,
pgeom
gives the distribution function,
qgeom
gives the quantile function, and
rgeom
generates random deviates.
Invalid prob
will result in return value NaN
, with a warning.
The length of the result is determined by n
for
rgeom
, and is the maximum of the lengths of the
numerical arguments for the other functions.
The numerical arguments other than n
are recycled to the
length of the result. Only the first elements of the logical
arguments are used.
rgeom
returns a vector of type integer unless generated
values exceed the maximum representable integer when double
values are returned since R version 4.0.0.
dgeom
computes via dbinom
, using code contributed by
Catherine Loader (see dbinom
).
pgeom
and qgeom
are based on the closedform formulae.
rgeom
uses the derivation as an exponential mixture of Poissons, see
Devroye, L. (1986) NonUniform Random Variate Generation. SpringerVerlag, New York. Page 480.
Distributions for other standard distributions, including
dnbinom
for the negative binomial which generalizes
the geometric distribution.
qgeom((1:9)/10, prob = .2)
Ni < rgeom(20, prob = 1/4); table(factor(Ni, 0:max(Ni)))