Como extraio valores raster de dados de polígonos e ingresso no quadro de dados espaciais?

Gostaria de mesclar dados de polígono e dados de varredura em um quadro de dados para fins de usar o pacote randomForests em R.
Isso envolve extrair primeiro o valor médio da varredura por polígono.

Até agora, tenho o seguinte:

#load libraries
library(raster)
library(rgdal)
library(sp)
library(maptools)

#import raster data 
r <- raster("myRasterdata.tif")

#import polygon data 
p <- readShapePoly("myPolydata.shp")

#extract mean raster value for each polygon
ExtractMyData <- extract(r, p, small=TRUE, fun=mean, na.rm=TRUE, df=FALSE,  nl=1, sp=TRUE)
# note I have also tried this with df=TRUE and sp=FALSE

A saída é uma matriz, que eu posso gravar em um quadro de dados. Mas ele não possui as coordenadas espaciais ou os IDs de polígono originais, portanto, não sei como associar a saída ao mesmo banco de dados. Pensei que o argumento sp = TRUE faria isso, mas parece não funcionar.

Observe que, na verdade, terei que converter os polígonos em pontos (usando um método centróide?) Para fins de RandomForests, para que eu possa adivinhar o que realmente quero é associar os valores médios de varredura associados a pontos, não polígonos.

Todas as sugestões serão muito apreciadas. Obrigado!!

questionAnswers(1)

yourAnswerToTheQuestion