R: Bind rows (features) of sf objects

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 `sf`; see dotsMethods
`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))
      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))
    dplyr::bind_cols(c, df)

[Package sf version 0.9-7 Index]