Skip to contents

Estimates the Mean Ceramic Date of an assemblage.

Usage

mcd(object, dates, ...)

# S4 method for numeric,numeric
mcd(object, dates)

# S4 method for data.frame,numeric
mcd(object, dates)

# S4 method for matrix,numeric
mcd(object, dates)

Arguments

object

A length-\(p\) numeric vector, an \(m \times p\) numeric matrix or data.frame of count data (absolute frequencies).

dates

A length-\(p\) numeric vector of dates expressed in CE years (BCE years must be given as negative numbers).

...

Currently not used.

Value

A single numeric value or a MeanDate object.

Details

The Mean Ceramic Date (MCD) is a point estimate of the occupation of an archaeological site (South 1977). The MCD is estimated as the weighted mean of the date midpoints of the ceramic types (based on absolute dates or the known production interval) found in a given assemblage. The weights are the relative frequencies of the respective types in the assemblage.

A bootstrapping procedure is used to estimate the confidence interval of a given MCD. For each assemblage, a large number of new bootstrap replicates is created, with the same sample size, by resampling the original assemblage with replacement. MCDs are calculated for each replicates and upper and lower boundaries of the confidence interval associated with each MCD are then returned.

Note

All results are rounded to zero decimal places (sub-annual precision does not make sense in most situations). You can change this behavior with options(kairos.precision = x) (for x decimal places).

References

South, S. A. (1977). Method and Theory in Historical Archaeology. New York: Academic Press.

See also

plot(), bootstrap(), jackknife(), simulate()

Other dating methods: event()

Author

N. Frerebeau

Examples

## Data from Peeples and Schachner 2012
data("zuni", package = "folio")

## Set the start and end dates for each ceramic type
dates <- list(
  LINO = c(600, 875), KIAT = c(850, 950), RED = c(900, 1050),
  GALL = c(1025, 1125), ESC = c(1050, 1150), PUBW = c(1050, 1150),
  RES = c(1000, 1200), TULA = c(1175, 1300), PINE = c(1275, 1350),
  PUBR = c(1000, 1200), WING = c(1100, 1200), WIPO = c(1125, 1225),
  SJ = c(1200, 1300), LSJ = c(1250, 1300), SPR = c(1250, 1300),
  PINER = c(1275, 1325), HESH = c(1275, 1450), KWAK = c(1275, 1450)
)

## Calculate date midpoints
mid <- vapply(X = dates, FUN = mean, FUN.VALUE = numeric(1))

## Calculate MCD
mc_dates <- mcd(zuni[100:125, ], dates = mid)
head(mc_dates)
#> LZ0789 LZ0783 LZ0782 LZ0778 LZ0777 LZ0776 
#>   1207   1128   1100   1227   1238   1028 

## Plot
plot(mc_dates)


# \donttest{
## Bootstrap resampling
boot <- bootstrap(mc_dates, n = 30)
head(boot)
#>        original     mean        bias     error
#> LZ0789     1207      NaN         NaN        NA
#> LZ0783     1128 1128.733   0.7333333  18.31889
#> LZ0782     1100      NaN         NaN        NA
#> LZ0778     1227 1224.333  -2.6666667  35.95431
#> LZ0777     1238      NaN         NaN        NA
#> LZ0776     1028  973.600 -54.4000000 109.87096

## Jackknife resampling
jack <- jackknife(mc_dates)
head(jack)
#>        original     mean       bias     error
#> LZ0789     1207 1206.833  -2.833333  32.47264
#> LZ0783     1128 1128.111   1.888889  21.19778
#> LZ0782     1100      NaN        NaN       NaN
#> LZ0778     1227 1226.778  -3.777778  22.52269
#> LZ0777     1238      NaN        NaN       NaN
#> LZ0776     1028 1024.889 -52.888889 127.64539

## Simulation
sim <- simulate(mc_dates, n = 30, interval = "percentiles")
plot(sim)

# }