ogive: Ogive for Grouped Data

View source: R/ogive.R

ogiveR Documentation

Ogive for Grouped Data


Compute a smoothed empirical distribution function for grouped data.


ogive(x, ...)

## Default S3 method:
ogive(x, y = NULL, breaks = "Sturges", nclass = NULL, ...)

## S3 method for class 'grouped.data'
ogive(x, ...)

## S3 method for class 'ogive'
print(x, digits = getOption("digits") - 2, ...)

## S3 method for class 'ogive'
summary(object, ...)

## S3 method for class 'ogive'
knots(Fn, ...)

## S3 method for class 'ogive'
plot(x, main = NULL, xlab = "x", ylab = "F(x)", ...)



for the generic and all but the default method, an object of class "grouped.data"; for the default method, a vector of individual data if y is NULL, a vector of group boundaries otherwise.


a vector of group frequencies.

breaks, nclass

arguments passed to grouped.data; used only for individual data (when y is NULL).


number of significant digits to use, see print.

Fn, object

an R object inheriting from "ogive".


main title.

xlab, ylab

labels of x and y axis.


arguments to be passed to subsequent methods.


The ogive is a linear interpolation of the empirical cumulative distribution function.

The equation of the ogive is

G_n(x) = \frac{(c_j - x) F_n(c_{j - 1}) + (x - c_{j - 1}) F_n(c_j)}{c_j - c_{j - 1}}

for c_{j-1} < x \leq c_j and where c_0, \dots, c_r are the r + 1 group boundaries and F_n is the empirical distribution function of the sample.


For ogive, a function of class "ogive", inheriting from the "function" class.


Vincent Goulet vincent.goulet@act.ulaval.ca and Mathieu Pigeon


Klugman, S. A., Panjer, H. H. and Willmot, G. E. (1998), Loss Models, From Data to Decisions, Wiley.

See Also

grouped.data to create grouped data objects; quantile.grouped.data for the inverse function; approxfun, which is used to compute the ogive; stepfun for related documentation (even though the ogive is not a step function).


## Most common usage: create ogive from grouped data object.
Fn <- ogive(gdental)
knots(Fn)                      # the group boundaries

Fn(knots(Fn))                  # true values of the empirical cdf
Fn(c(80, 200, 2000))           # linear interpolations

plot(Fn)                       # graphical representation

## Alternative 1: create ogive directly from individual data
## without first creating a grouped data object.
ogive(dental)                  # automatic class boundaries
ogive(dental, breaks = c(0, 50, 200, 500, 1500, 2000))

## Alternative 2: create ogive from set of group boundaries and
## group frequencies.
cj <- c(0, 25, 50, 100, 250, 500, 1000)
nj <- c(30, 31, 57, 42, 45, 10)
ogive(cj, nj)

actuar documentation built on Nov. 8, 2023, 9:06 a.m.