Cálculo de centróides poligonais ponderados em R

Preciso calcular os centróides de um conjunto de zonas espaciais com base em um conjunto de dados de grade populacional separado. Grato por uma orientação sobre como conseguir isso no exemplo abaixo.

Desde já, obrigado.

require(raster)
require(spdep)
require(maptools)

dat <- raster(volcano)   # simulated population data
polys <- readShapePoly(system.file("etc/shapes/columbus.shp",package="spdep")[1])

# set consistent coordinate ref. systems and bounding boxes
proj4string(dat) <- proj4string(polys) <- CRS("+proj=longlat +datum=NAD27")
extent(dat) <- extent(polys)

# illustration plot
plot(dat, asp = TRUE)
plot(polys, add = TRUE)

questionAnswers(4)

yourAnswerToTheQuestion