Skip to contents

addTable() adds an entire table to a GVector. It will replace any existing table. There must be one row in the table for each geometry (see ngeom()). You can also add a table column-by-column using the $<- operator.

dropTable() removes a data table associated with a GVector.

Usage

# S4 method for class 'GVector,data.frame'
addTable(x, ...) <- value

# S4 method for class 'GVector,data.table'
addTable(x, ...) <- value

# S4 method for class 'GVector,matrix'
addTable(x, ...) <- value

# S4 method for class 'GVector'
dropTable(x)

Arguments

x

A GVector.

...

Other arguments (ignored).

value

A data.frame, data.table, or matrix.

Value

A GVector.

Examples

if (grassStarted()) {

# Setup
library(sf)

# Rivers vector
madRivers <- fastData("madRivers")

# Convert sf to a GVector
rivers <- fast(madRivers)

# Convert GVector to data.frame or data.table
as.data.frame(rivers)
as.data.table(rivers)

# Subset rivers vector
rivers1 <- rivers[1:2]
rivers2 <- rivers[10:11]

# Concatenate rivers
riversCombo <- rbind(rivers1, rivers2)
riversCombo

# Add columns
newCol <- data.frame(new = 1:11)
riversCol <- colbind(rivers, newCol)
riversCol

# Remove table
riversCopy <- rivers
riversCopy # has data table
riversCopy <- dropTable(riversCopy)
riversCopy # no data table

# Add a new table
newTable <- data.frame(num = 1:11, letters = letters[1:11])
addTable(riversCopy) <- newTable
riversCopy

}