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

## Mean Ceramic Date
## Coerce the zuni dataset to an abundance (count) matrix
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 1214.267   7.266667  26.49780
#> LZ0783     1128 1129.600   1.600000  22.06511
#> LZ0782     1100      NaN        NaN        NA
#> LZ0778     1227 1228.367   1.366667  19.98704
#> LZ0777     1238      NaN        NaN        NA
#> LZ0776     1028 1011.567 -16.433333 116.61747

## 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)

# }