bind {sf} | R Documentation |
Bind rows (features) of sf objects
Description
Bind rows (features) of sf objects
Bind columns (variables) of sf objects
Usage
## S3 method for class 'sf'
rbind(..., deparse.level = 1)
## S3 method for class 'sf'
cbind(..., deparse.level = 1, sf_column_name = NULL)
st_bind_cols(...)
Arguments
... |
objects to bind; note that for the rbind and cbind methods, all objects have to be of class |
deparse.level |
integer; see rbind |
sf_column_name |
character; specifies active geometry; passed on to st_sf |
Details
both rbind
and cbind
have non-standard method dispatch (see cbind): the rbind
or cbind
method for sf
objects is only called when all arguments to be binded are of class sf
.
If you need to cbind
e.g. a data.frame
to an sf
, use data.frame directly and use st_sf on its result, or use bind_cols; see examples.
st_bind_cols
is deprecated; use cbind
instead.
Value
cbind
called with multiple sf
objects warns about multiple geometry columns present when the geometry column to use is not specified by using argument sf_column_name
; see also st_sf.
Examples
crs = st_crs(3857)
a = st_sf(a=1, geom = st_sfc(st_point(0:1)), crs = crs)
b = st_sf(a=1, geom = st_sfc(st_linestring(matrix(1:4,2))), crs = crs)
c = st_sf(a=4, geom = st_sfc(st_multilinestring(list(matrix(1:4,2)))), crs = crs)
rbind(a,b,c)
rbind(a,b)
rbind(a,b)
rbind(b,c)
cbind(a,b,c) # warns
if (require(dplyr, quietly = TRUE))
dplyr::bind_cols(a,b)
c = st_sf(a=4, geomc = st_sfc(st_multilinestring(list(matrix(1:4,2)))), crs = crs)
cbind(a,b,c, sf_column_name = "geomc")
df = data.frame(x=3)
st_sf(data.frame(c, df))
if (require(dplyr, quietly = TRUE))
dplyr::bind_cols(c, df)