Проблемы:
1: результат UnionSpatialPolygons - это пространственный многоугольник
2: преобразование результата обратно во фрейм данных пространственного многоугольника - реальная боль
-a. вам нужен очень точный фрейм данных для присоединения к пространственному многоугольнику
-b. Данные, которые вы использовали для UnionSpatialPolygons, имеют больше строк, чем выходные данные, и не отформатированы так, как нужно.
Мое (некрасивое) решение:
### Coerce into spatial polygon data frame with id and row name of spatial polygon
# Make a data frame that meets the requirements above:
df<- data.frame(id = getSpPPolygonsIDSlots(your.spatialpolygon))
row.names(df) <- getSpPPolygonsIDSlots(your.spatialpolygon)
# Make spatial polygon data frame
spdf <- SpatialPolygonsDataFrame(your.spatialpolygon, data =df)
# Then don't forget to make sure the projection is correct
# XXXX is your SRID
proj4string(spdf) <- CRS("+init=epsg:XXXX");
spdf <- spTransform(spdf , CRS("+init=epsg:XXXX"));