spCbind provides cbind-like methods for Spatial*DataFrame objects in addition to the $, [<- and [[<- methods already available.

Methods

obj = "SpatialPointsDataFrame", x = "data.frame"

cbind a data frame to the data slot of a SpatialPointsDataFrame object

obj = "SpatialPointsDataFrame", x = "vector"

cbind a vector to the data slot of a SpatialPointsDataFrame object

obj = "SpatialLinesDataFrame", x = "data.frame"

cbind a data frame to the data slot of a SpatialLinesDataFrame object; the data frame argument must have row names set to the Lines ID values, and should be re-ordered first by matching against a shared key column

obj = "SpatialLinesDataFrame", x = "vector"

cbind a vector to the data slot of a SpatialLinesDataFrame object

obj = "SpatialPolygonsDataFrame", x = "data.frame"

cbind a data frame to the data slot of a SpatialPolygonsDataFrame object; the data frame argument must have row names set to the Polygons ID values, and should be re-ordered first by matching against a shared key column

obj = "SpatialPolygonsDataFrame", x = "vector"

cbind a vector to the data slot of a SpatialPolygonsDataFrame object

Author

Roger Bivand

Examples

xx <- readShapePoly(system.file("shapes/sids.shp", package="maptools")[1], 
  IDvar="FIPSNO", proj4string=CRS("+proj=longlat +ellps=clrk66"))
#> Warning: shapelib support is provided by GDAL through the sf and terra packages among others
library(foreign)
xtra <- read.dbf(system.file("share/nc_xtra.dbf", package="maptools")[1])
o <- match(xx$CNTY_ID, xtra$CNTY_ID)
xtra1 <- xtra[o,]
row.names(xtra1) <- xx$FIPSNO
xx1 <- spCbind(xx, xtra1)
names(xx1)
#>  [1] "AREA"      "PERIMETER" "CNTY_"     "CNTY_ID"   "NAME"      "FIPS"     
#>  [7] "FIPSNO"    "CRESS_ID"  "BIR74"     "SID74"     "NWBIR74"   "BIR79"    
#> [13] "SID79"     "NWBIR79"   "CNTY_ID.1" "east"      "north"     "L_id"     
#> [19] "M_id"      "names"    
identical(xx1$CNTY_ID, xx1$CNTY_ID.1)
#> [1] FALSE