Running examples in ‘powerjoin-Ex.R’ failed
The error most likely occurred in:

> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: power_left_join
> ### Title: Power joins
> ### Aliases: power_left_join power_right_join power_inner_join
> ###   power_full_join
> 
> ### ** Examples
> 
> # See README for a more verbose version
> library(tibble)
> male_penguins <- tribble(
+   ~name,    ~species,     ~island, ~flipper_length_mm, ~body_mass_g,
+   "Giordan",    "Gentoo",    "Biscoe",               222L,        5250L,
+   "Lynden",    "Adelie", "Torgersen",               190L,        3900L,
+   "Reiner",    "Adelie",     "Dream",               185L,        3650L
+ )
> 
> female_penguins <- tribble(
+   ~name,    ~species,  ~island, ~flipper_length_mm, ~body_mass_g,
+   "Alonda",    "Gentoo", "Biscoe",               211,        4500L,
+   "Ola",    "Adelie",  "Dream",               190,        3600L,
+   "Mishayla",    "Gentoo", "Biscoe",               215,        4750L,
+ )
> 
> # apply different checks
> power_inner_join(
+   male_penguins[c("species", "island")],
+   female_penguins[c("species", "island")],
+   check = check_specs(implicit_keys = "ignore", duplicate_keys_right = "inform")
+ )
Keys in the right table have duplicates:
# A tibble: 1 × 2
  species island
  <chr>   <chr> 
1 Gentoo  Biscoe
# A tibble: 3 × 2
  species island
  <chr>   <chr> 
1 Gentoo  Biscoe
2 Gentoo  Biscoe
3 Adelie  Dream 
> 
> df1 <- tibble(id = 1:3, value = c(10, NA, 30))
> df2 <- tibble(id = 2:4, value = c(22, 32, 42))
> 
> # handle conflicted columns when joining
> power_left_join(df1, df2, by = "id", conflict = `+`)
# A tibble: 3 × 2
     id value
  <int> <dbl>
1     1    NA
2     2    NA
3     3    62
> 
> # the most frequent use case is to coalesce
> power_left_join(df1, df2, by = "id", conflict = coalesce_xy)
# A tibble: 3 × 2
     id value
  <int> <dbl>
1     1    10
2     2    22
3     3    30
> power_left_join(df1, df2, by = "id", conflict = coalesce_yx)
# A tibble: 3 × 2
     id value
  <int> <dbl>
1     1    10
2     2    22
3     3    32
> 
> # the conflict function is applied colwise by default!
> power_left_join(df1, df2, by = "id", conflict = ~ sum(.x, .y, na.rm = TRUE))
# A tibble: 3 × 2
     id value
  <int> <dbl>
1     1    94
2     2    94
3     3    94
> 
> # apply conflict function rowwise
> power_left_join(df1, df2, by = "id", conflict = rw ~ sum(.x, .y, na.rm = TRUE))
# A tibble: 3 × 2
     id value
  <int> <dbl>
1     1    10
2     2    22
3     3    62
> 
> # subset columns without repeating keys
> power_inner_join(
+   male_penguins %>% select_keys_and(name),
+   female_penguins %>% select_keys_and(female_name = name),
+   by = c("species", "island")
+ )
# A tibble: 3 × 4
  species island name    female_name
  <chr>   <chr>  <chr>   <chr>      
1 Gentoo  Biscoe Giordan Alonda     
2 Gentoo  Biscoe Giordan Mishayla   
3 Adelie  Dream  Reiner  Ola        
> 
> # semi join
> power_inner_join(
+   male_penguins,
+   female_penguins %>% select_keys_and(),
+   by = c("species", "island")
+ )
# A tibble: 3 × 5
  name    species island flipper_length_mm body_mass_g
  <chr>   <chr>   <chr>              <int>       <int>
1 Giordan Gentoo  Biscoe               222        5250
2 Giordan Gentoo  Biscoe               222        5250
3 Reiner  Adelie  Dream                185        3650
> 
> # agregate without repeating keys
> power_left_join(
+   male_penguins %>% summarize_by_keys(male_weight = mean(body_mass_g)),
+   female_penguins %>% summarize_by_keys(female_weight = mean(body_mass_g)),
+   by = c("species", "island")
+ )
# A tibble: 3 × 4
  species island    male_weight female_weight
  <chr>   <chr>           <dbl>         <dbl>
1 Adelie  Dream            3650          3600
2 Adelie  Torgersen        3900            NA
3 Gentoo  Biscoe           5250          4625
> 
> # pack auxiliary colums without repeating keys
> power_left_join(
+   male_penguins %>% pack_along_keys(name = "m"),
+   female_penguins %>% pack_along_keys(name = "f"),
+   by = c("species", "island")
+ )
# A tibble: 4 × 4
  species island    m$name  $flipper_length_mm $body_mass_g f$name   $flipper_…¹
  <chr>   <chr>     <chr>                <int>        <int> <chr>          <dbl>
1 Gentoo  Biscoe    Giordan                222         5250 Alonda           211
2 Gentoo  Biscoe    Giordan                222         5250 Mishayla         215
3 Adelie  Torgersen Lynden                 190         3900 <NA>              NA
4 Adelie  Dream     Reiner                 185         3650 Ola              190
# … with 1 more variable: f$body_mass_g <int>, and abbreviated variable name
#   ¹​$flipper_length_mm
> 
> # fuzzy join
> power_inner_join(
+   male_penguins %>% select_keys_and(male_name = name),
+   female_penguins %>% select_keys_and(female_name = name),
+   by = c(~.x$flipper_length_mm < .y$flipper_length_mm, ~.x$body_mass_g > .y$body_mass_g)
+ )
# A tibble: 1 × 6
  flipper_length_mm.x body_mass_g.x male_name flipper_length_m…¹ body_…² femal…³
                <int>         <int> <chr>                  <dbl>   <int> <chr>  
1                 185          3650 Reiner                   190    3600 Ola    
# … with abbreviated variable names ¹​flipper_length_mm.y, ²​body_mass_g.y,
#   ³​female_name
> 
> # fuzzy + equi join
> power_inner_join(
+   male_penguins %>% select_keys_and(male_name = name),
+   female_penguins %>% select_keys_and(female_name = name),
+   by = c("island", ~.x$flipper_length_mm > .y$flipper_length_mm)
+ )
# A tibble: 2 × 5
  island flipper_length_mm.x male_name flipper_length_mm.y female_name
  <chr>                <int> <chr>                   <dbl> <chr>      
1 Biscoe                 222 Giordan                   211 Alonda     
2 Biscoe                 222 Giordan                   215 Mishayla   
> 
> # define new column without repeating computation
> power_inner_join(
+   male_penguins %>% select_keys_and(male_name = name),
+   female_penguins %>% select_keys_and(female_name = name),
+   by = ~ (mass_ratio <- .y$body_mass_g / .x$body_mass_g) > 1.2
+ )
# A tibble: 3 × 5
  body_mass_g.x male_name body_mass_g.y female_name mass_ratio
          <int> <chr>             <int> <chr>            <dbl>
1          3900 Lynden             4750 Mishayla          1.22
2          3650 Reiner             4500 Alonda            1.23
3          3650 Reiner             4750 Mishayla          1.30
> power_inner_join(
+   male_penguins %>% select_keys_and(male_name = name),
+   female_penguins %>% select_keys_and(female_name = name),
+   by = ~ (mass_ratio <- .y$body_mass_g / .x$body_mass_g) > 1.2,
+   keep = "none"
+ )
# A tibble: 3 × 3
  male_name female_name mass_ratio
  <chr>     <chr>            <dbl>
1 Lynden    Mishayla          1.22
2 Reiner    Alonda            1.23
3 Reiner    Mishayla          1.30
> 
> # fill unmatched values
> df1 <- tibble(id = 1:3)
> df2 <- tibble(id = 1:2, value2 = c(2, NA), value3 = c(NA, 3))
> power_left_join(df1, df2, by = "id", fill = 0)
Error in vectbl_assign(x[[j]], i, recycled_value[[j]]) : 
  DLL requires the use of native symbols
Calls: power_left_join ... tbl_subassign_row -> withCallingHandlers -> vectbl_assign
Execution halted