join {csquares} | R Documentation |
Join csquares
objects using tidyverse conventions
Description
When a csquares
object inherits from class data.frame
, you can apply tidyverse
joins to the object (?dplyr::join
). The functions implemented here make sure that
the csquares properties are preserved. The functions should be called via the dplyr
generics. So load the dplyr
package first, then call the function without the .csquares
suffix (see examples). When x
inherits from stars
, only left_join
is supported.
Usage
inner_join.csquares(x, y, by = NULL, copy = FALSE, suffix = c(".x", ".y"), ...)
left_join.csquares(x, y, by = NULL, copy = FALSE, suffix = c(".x", ".y"), ...)
right_join.csquares(x, y, by = NULL, copy = FALSE, suffix = c(".x", ".y"), ...)
full_join.csquares(x, y, by = NULL, copy = FALSE, suffix = c(".x", ".y"), ...)
semi_join.csquares(x, y, by = NULL, copy = FALSE, suffix = c(".x", ".y"), ...)
anti_join.csquares(x, y, by = NULL, copy = FALSE, suffix = c(".x", ".y"), ...)
st_join.csquares(x, y, join, ..., suffix)
Arguments
x , y |
A pair of data frames, data frame extensions (e.g. a tibble), or lazy data frames (e.g. from dbplyr or dtplyr). See Methods, below, for more details. |
by |
A join specification created with If To join on different variables between To join by multiple variables, use a
For simple equality joins, you can alternatively specify a character vector
of variable names to join by. For example, To perform a cross-join, generating all combinations of |
copy |
If |
suffix |
If there are non-joined duplicate variables in |
... |
Other parameters passed onto methods. |
join |
geometry predicate function with the same profile as st_intersects; see details |
Author(s)
Pepijn de Vries
Examples
if (requireNamespace(c("sf", "dplyr"))) {
library(csquares)
library(sf)
library(dplyr)
orca_sf <- orca |> as_csquares(csquares = "csquares") |> st_as_sf()
right_table <- data.frame(csquares = c("1000:1", "1004:1"), foo = "bar")
orca_join <- left_join (orca_sf, right_table, by = "csquares")
orca_join <- right_join(orca_sf, right_table, by = "csquares")
orca_join <- inner_join(orca_sf, right_table, by = "csquares")
orca_join <- anti_join (orca_sf, right_table, by = "csquares")
orca_join <- semi_join (orca_sf, right_table, by = "csquares")
orca_grid <- new_csquares(orca_sf, 5)
orca_grid <- left_join(orca_grid, orca, by = "csquares")
}