CRAN Package Check Results for Package fjoin

Last updated on 2026-02-28 11:49:23 CET.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 0.1.0 3.57 91.29 94.86 ERROR
r-devel-linux-x86_64-debian-gcc 0.1.0 2.57 57.61 60.18 ERROR
r-devel-linux-x86_64-fedora-clang 0.1.0 130.62 OK
r-devel-linux-x86_64-fedora-gcc 0.1.0 136.44 ERROR
r-devel-macos-arm64 0.1.0 1.00 20.00 21.00 OK
r-devel-windows-x86_64 0.1.0 5.00 99.00 104.00 ERROR
r-patched-linux-x86_64 0.1.0 4.59 71.78 76.37 ERROR
r-release-linux-x86_64 0.1.0 3.29 71.19 74.48 OK
r-release-macos-arm64 0.1.0 1.00 27.00 28.00 OK
r-release-macos-x86_64 0.1.0 3.00 98.00 101.00 OK
r-release-windows-x86_64 0.1.0 8.00 97.00 105.00 ERROR
r-oldrel-macos-arm64 0.1.0 1.00 31.00 32.00 OK
r-oldrel-macos-x86_64 0.1.0 3.00 87.00 90.00 OK
r-oldrel-windows-x86_64 0.1.0 6.00 120.00 126.00 ERROR

Check Details

Version: 0.1.0
Check: tests
Result: ERROR Running ‘testthat.R’ [15s/18s] Running the tests in ‘tests/testthat.R’ failed. Complete output: > # This file is part of the standard setup for testthat. > # It is recommended that you do not modify it. > # > # Where should you do additional test configuration? > # Learn more about the roles of various files in: > # * https://r-pkgs.org/testing-design.html#sec-tests-files-overview > # * https://testthat.r-lib.org/articles/special-files.html > > library(testthat) > library(fjoin) > > test_check("fjoin") id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 id c R.c <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 id c.x c.y <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 id c R.c <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 5: 1 row A1 <NA> 6: NA row A5 <NA> 7: NA row A6 <NA> id c.x c.y <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 5: 1 row A1 <NA> 6: NA row A5 <NA> 7: NA row A6 <NA> id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA <NA> row B1 6: NA <NA> row B2 7: 4 <NA> row B3 8: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA <NA> row B1 6: NA <NA> row B2 7: 4 <NA> row B3 8: 4 <NA> row B4 id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 9: 4 <NA> row B3 10: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 9: 4 <NA> row B3 10: 4 <NA> row B4 id c R.c <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 id c.x c.y <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> 8: NA <NA> row B1 9: NA <NA> row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> 8: NA <NA> row B1 9: NA <NA> row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c R.c <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 9: 1 row A1 <NA> 10: NA row A5 <NA> 11: NA row A6 <NA> id c.x c.y <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 9: 1 row A1 <NA> 10: NA row A5 <NA> 11: NA row A6 <NA> id c R.id R.c <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 1 row A1 NA row B2 3: 1 row A1 4 row B3 4: 1 row A1 4 row B4 5: 1 row A1 3 row B5 6: 1 row A1 3 row B6 7: 1 row A1 2 row B7 8: 2 row A2 NA row B1 9: 2 row A2 NA row B2 10: 2 row A2 4 row B3 11: 2 row A2 4 row B4 12: 2 row A2 3 row B5 13: 2 row A2 3 row B6 14: 2 row A2 2 row B7 15: 2 row A3 NA row B1 16: 2 row A3 NA row B2 17: 2 row A3 4 row B3 18: 2 row A3 4 row B4 19: 2 row A3 3 row B5 20: 2 row A3 3 row B6 21: 2 row A3 2 row B7 22: 3 row A4 NA row B1 23: 3 row A4 NA row B2 24: 3 row A4 4 row B3 25: 3 row A4 4 row B4 26: 3 row A4 3 row B5 27: 3 row A4 3 row B6 28: 3 row A4 2 row B7 29: NA row A5 NA row B1 30: NA row A5 NA row B2 31: NA row A5 4 row B3 32: NA row A5 4 row B4 33: NA row A5 3 row B5 34: NA row A5 3 row B6 35: NA row A5 2 row B7 36: NA row A6 NA row B1 37: NA row A6 NA row B2 38: NA row A6 4 row B3 39: NA row A6 4 row B4 40: NA row A6 3 row B5 41: NA row A6 3 row B6 42: NA row A6 2 row B7 id c R.id R.c <int> <char> <int> <char> id.x c.x id.y c.y <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 1 row A1 NA row B2 3: 1 row A1 4 row B3 4: 1 row A1 4 row B4 5: 1 row A1 3 row B5 6: 1 row A1 3 row B6 7: 1 row A1 2 row B7 8: 2 row A2 NA row B1 9: 2 row A2 NA row B2 10: 2 row A2 4 row B3 11: 2 row A2 4 row B4 12: 2 row A2 3 row B5 13: 2 row A2 3 row B6 14: 2 row A2 2 row B7 15: 2 row A3 NA row B1 16: 2 row A3 NA row B2 17: 2 row A3 4 row B3 18: 2 row A3 4 row B4 19: 2 row A3 3 row B5 20: 2 row A3 3 row B6 21: 2 row A3 2 row B7 22: 3 row A4 NA row B1 23: 3 row A4 NA row B2 24: 3 row A4 4 row B3 25: 3 row A4 4 row B4 26: 3 row A4 3 row B5 27: 3 row A4 3 row B6 28: 3 row A4 2 row B7 29: NA row A5 NA row B1 30: NA row A5 NA row B2 31: NA row A5 4 row B3 32: NA row A5 4 row B4 33: NA row A5 3 row B5 34: NA row A5 3 row B6 35: NA row A5 2 row B7 36: NA row A6 NA row B1 37: NA row A6 NA row B2 38: NA row A6 4 row B3 39: NA row A6 4 row B4 40: NA row A6 3 row B5 41: NA row A6 3 row B6 42: NA row A6 2 row B7 id.x c.x id.y c.y <int> <char> <int> <char> id c R.id R.c <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 2 row A2 NA row B1 3: 2 row A3 NA row B1 4: 3 row A4 NA row B1 5: NA row A5 NA row B1 6: NA row A6 NA row B1 7: 1 row A1 NA row B2 8: 2 row A2 NA row B2 9: 2 row A3 NA row B2 10: 3 row A4 NA row B2 11: NA row A5 NA row B2 12: NA row A6 NA row B2 13: 1 row A1 4 row B3 14: 2 row A2 4 row B3 15: 2 row A3 4 row B3 16: 3 row A4 4 row B3 17: NA row A5 4 row B3 18: NA row A6 4 row B3 19: 1 row A1 4 row B4 20: 2 row A2 4 row B4 21: 2 row A3 4 row B4 22: 3 row A4 4 row B4 23: NA row A5 4 row B4 24: NA row A6 4 row B4 25: 1 row A1 3 row B5 26: 2 row A2 3 row B5 27: 2 row A3 3 row B5 28: 3 row A4 3 row B5 29: NA row A5 3 row B5 30: NA row A6 3 row B5 31: 1 row A1 3 row B6 32: 2 row A2 3 row B6 33: 2 row A3 3 row B6 34: 3 row A4 3 row B6 35: NA row A5 3 row B6 36: NA row A6 3 row B6 37: 1 row A1 2 row B7 38: 2 row A2 2 row B7 39: 2 row A3 2 row B7 40: 3 row A4 2 row B7 41: NA row A5 2 row B7 42: NA row A6 2 row B7 id c R.id R.c <int> <char> <int> <char> id.x c.x id.y c.y <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 2 row A2 NA row B1 3: 2 row A3 NA row B1 4: 3 row A4 NA row B1 5: NA row A5 NA row B1 6: NA row A6 NA row B1 7: 1 row A1 NA row B2 8: 2 row A2 NA row B2 9: 2 row A3 NA row B2 10: 3 row A4 NA row B2 11: NA row A5 NA row B2 12: NA row A6 NA row B2 13: 1 row A1 4 row B3 14: 2 row A2 4 row B3 15: 2 row A3 4 row B3 16: 3 row A4 4 row B3 17: NA row A5 4 row B3 18: NA row A6 4 row B3 19: 1 row A1 4 row B4 20: 2 row A2 4 row B4 21: 2 row A3 4 row B4 22: 3 row A4 4 row B4 23: NA row A5 4 row B4 24: NA row A6 4 row B4 25: 1 row A1 3 row B5 26: 2 row A2 3 row B5 27: 2 row A3 3 row B5 28: 3 row A4 3 row B5 29: NA row A5 3 row B5 30: NA row A6 3 row B5 31: 1 row A1 3 row B6 32: 2 row A2 3 row B6 33: 2 row A3 3 row B6 34: 3 row A4 3 row B6 35: NA row A5 3 row B6 36: NA row A6 3 row B6 37: 1 row A1 2 row B7 38: 2 row A2 2 row B7 39: 2 row A3 2 row B7 40: 3 row A4 2 row B7 41: NA row A5 2 row B7 42: NA row A6 2 row B7 id.x c.x id.y c.y <int> <char> <int> <char> id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 Index: <id> id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 4: NA row A5 5: NA row A6 Index: <id> id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 4: NA row A5 5: NA row A6 id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 Index: <id> id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 4: NA row A5 NA 5: NA row A6 NA Index: <id> id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 4: NA row A5 NA 5: NA row A6 NA id c <int> <char> 1: 3 row B5 2: 3 row B6 3: 2 row B7 id c <int> <char> 1: 3 row B5 2: 3 row B6 3: 2 row B7 id c <int> <char> 1: NA row B1 2: NA row B2 3: 3 row B5 4: 3 row B6 5: 2 row B7 Index: <id> id c <int> <char> 1: NA row B1 2: NA row B2 3: 3 row B5 4: 3 row B6 5: 2 row B7 id c id2 <int> <char> <int> 1: 3 row B5 3 2: 3 row B6 3 3: 2 row B7 2 Index: <id> id c id2 <int> <char> <int> 1: 3 row B5 3 2: 3 row B6 3 3: 2 row B7 2 id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 3 row B5 3 4: 3 row B6 3 5: 2 row B7 2 Index: <id> id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 3 row B5 3 4: 3 row B6 3 5: 2 row B7 2 id c <int> <char> 1: 1 row A1 2: NA row A5 3: NA row A6 Index: <id> id c <int> <char> 1: 1 row A1 2: NA row A5 3: NA row A6 id c <int> <char> 1: 1 row A1 Index: <id> id c <int> <char> 1: 1 row A1 id c id2 <int> <char> <int> 1: 1 row A1 1 2: NA row A5 NA 3: NA row A6 NA Index: <id> id c id2 <int> <char> <int> 1: 1 row A1 1 2: NA row A5 NA 3: NA row A6 NA id c id2 <int> <char> <int> 1: 1 row A1 1 Index: <id> id c id2 <int> <char> <int> 1: 1 row A1 1 id c <int> <char> 1: NA row B1 2: NA row B2 3: 4 row B3 4: 4 row B4 Index: <id> id c <int> <char> 1: NA row B1 2: NA row B2 3: 4 row B3 4: 4 row B4 id c <int> <char> 1: 4 row B3 2: 4 row B4 Index: <id> id c <int> <char> 1: 4 row B3 2: 4 row B4 id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 4 row B3 4 4: 4 row B4 4 Index: <id> id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 4 row B3 4 4: 4 row B4 4 id c id2 <int> <char> <int> 1: 4 row B3 4 2: 4 row B4 4 Index: <id> id c id2 <int> <char> <int> 1: 4 row B3 4 2: 4 row B4 4 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 1 row A5 0 3 b 2 row A6 0 4 <NA> NA row A8 0 5 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 1 row A5 0 3 b 2 row A6 0 4 <NA> NA row A8 0 5 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 5 row A4 0 3 b 1 row A5 0 4 b 2 row A6 0 5 a 3 row A7 0 6 <NA> NA row A8 0 7 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 5 row A4 0 3 b 1 row A5 0 4 b 2 row A6 0 5 a 3 row A7 0 6 <NA> NA row A8 0 7 <NA> NA row A9 0 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A c 1 <NA> row A8 2 <NA> row A9 id_A c 1 <NA> row A8 2 <NA> row A9 id_A t_A c 1 a 1 row A2 2 b 1 row A5 3 b 2 row A6 4 <NA> NA row A8 5 <NA> NA row A9 id_A t_A c 1 a 1 row A2 2 b 1 row A5 3 b 2 row A6 4 <NA> NA row A8 5 <NA> NA row A9 id_A c 1 a row A2 2 b row A4 3 b row A5 4 b row A6 5 a row A7 6 <NA> row A8 7 <NA> row A9 id_A c 1 a row A2 2 b row A4 3 b row A5 4 b row A6 5 a row A7 6 <NA> row A8 7 <NA> row A9 id_A c 1 <NA> row A8 2 <NA> row A9 id_A c 1 <NA> row A8 2 <NA> row A9 .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: na.omit(.DT, cols = "id_B")[.i, on = "id_B == id_A", data.frame(id_A, t_A, c = i.c, v_A, t_B, R.c = c, v_B), allow.cartesian = TRUE] .DT : x = DF_A (cast as data.table) .i : y = DF_B (cast as data.table) Join: setDF(na.omit(.DT, cols = "id_A")[id_A %chin% .i$id_B])[] .DT : x = DF_A (cast as data.table) .i : y = DF_B (cast as data.table) Join: setDF(.DT[!id_A %chin% .i[, na.omit(.SD), .SDcols = "id_B"]$id_B])[] .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: setDF(.DT[id_B %chin% .i[, na.omit(.SD), .SDcols = "id_A"]$id_A])[] .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: setDF(.DT[!id_B %chin% .i[, na.omit(.SD), .SDcols = "id_A"]$id_A])[] .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: .DT[, fjoin.ind := TRUE][.i[, fjoin.ind := TRUE], on = "fjoin.ind", allow.cartesian = TRUE, data.frame(id_A, t_A, c = i.c, v_A, id_B, t_B, R.c = c, v_B)] .DT : DT_A .i : DT_B Join: with(list(fjoin.temp = setDT(setDT(na.omit(.i[, fjoin.which.i := .I], cols = "id_B")[.DT[, fjoin.which.DT := .I], on = "id_B == id_A", nomatch = NULL, mult = "first", data.frame(id_A = i.id_A, t_A = i.t_A, c = i.c, v_A = i.v_A, fjoin.which.DT = i.fjoin.which.DT, fjoin.ind.DT = TRUE, fjoin.which.i)])[.i, on = "fjoin.which.i", data.frame(.join = fifelse(is.na(fjoin.ind.DT), 2L, 3L), id_A = i.id_B, t_A, c, v_A, fjoin.which.DT, t_B, i.c, v_B)])), rbind(fjoin.temp, setDT(.DT[!fjoin.temp$fjoin.which.DT, data.frame(id_A, t_A, c, v_A, fjoin.which.DT, .join = rep(1L, .N))]), fill = TRUE))[, fjoin.which.DT := NULL][] .DT : DT_A .i : DT_B Join: .DT[!.i[, na.omit(.SD), .SDcols = "id_B"][.DT[, fjoin.which.DT := .I], on = "id_B == id_A", nomatch = NULL, mult = "first", fjoin.which.DT]][, fjoin.which.DT := NULL][] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: na.omit(.DT, cols = "id")[id %in% .i$id] .DT : (unnamed) .i : (unnamed) Join: na.omit(.DT, cols = "id")[id %in% .i$id] .DT : (unnamed) .i : (unnamed) Join: .DT[!id %in% .i[, na.omit(.SD), .SDcols = "id"]$id] .DT : (unnamed) .i : (unnamed) Join: .DT[!id %in% .i[, na.omit(.SD), .SDcols = "id"]$id] .DT : (unnamed) .i : (unnamed) Join: setDT(.DT[, fjoin.ind := TRUE][.i[, fjoin.ind := TRUE], on = "fjoin.ind", allow.cartesian = TRUE, data.frame(id, col_DT, col_c, i.id = i.id, col_i, i.col_c = i.col_c)]) .DT : (unnamed) .i : (unnamed) Join: setDT(.DT[, fjoin.ind := TRUE][.i[, fjoin.ind := TRUE], on = "fjoin.ind", allow.cartesian = TRUE, data.frame(id, col_DT, col_c, i.id = i.id, col_i, i.col_c = i.col_c)]) .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "fjoin_blah")[.i, on = "fjoin_blah", data.frame(fjoin_blah, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "blah_fjoin.")[.i, on = "blah_fjoin.", data.frame(blah_fjoin., col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(.DT[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", nomatch = NULL, data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", nomatch = NULL, data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", nomatch = NULL, data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] Saving _problems/test15-SF-agr-sfc-attributes-71.R Saving _problems/test15-SF-agr-sfc-attributes-73.R Saving _problems/test15-SF-agr-sfc-attributes-97.R Saving _problems/test15-SF-agr-sfc-attributes-109.R Saving _problems/test15-SF-agr-sfc-attributes-112.R Saving _problems/test15-SF-agr-sfc-attributes-114.R Saving _problems/test15-SF-agr-sfc-attributes-147.R Saving _problems/test15-SF-agr-sfc-attributes-159.R Saving _problems/test15-SF-agr-sfc-attributes-172.R Saving _problems/test15-SF-agr-sfc-attributes-184.R [ FAIL 10 | WARN 0 | SKIP 0 | PASS 472 ] ══ Failed tests ════════════════════════════════════════════════════════════════ ── Failure ('test15-SF-agr-sfc-attributes.R:71:3'): sf no non-NA agr ─────────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "NA" "NA" "NA" `expected`: "NA" "NA" "NA" "NA" ── Failure ('test15-SF-agr-sfc-attributes.R:73:3'): sf no non-NA agr ─────────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "NA" "NA" "NA" `expected`: "NA" "NA" "NA" "NA" ── Failure ('test15-SF-agr-sfc-attributes.R:88:3'): sf with non-NA agr ───────── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: `names(actual)`: "id_A" "c" "v_A" "i.c" "v_B" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" "i.c" "v_B" "geom_active_B" `actual[3:5]`: "NA " "NA " "NA " `expected[3:7]`: "NA " "NA " "NA " "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:99:3'): sf with non-NA agr ───────── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: names(actual) | names(expected) [1] "id_A" | "id_A" [1] [2] "c" | "c" [2] [3] "v_A" | "v_A" [3] [4] "id_B" - "geom_other_A" [4] [5] "i.c" - "id_B" [5] [6] "v_B" - "i.c" [6] - "v_B" [7] - "geom_active_B" [8] `actual[4:6]`: "NA " "NA " "NA " `expected[4:8]`: "NA " "NA " "NA " "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:112:3'): sf with non-NA agr ──────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "identity " "aggregate" "NA " `expected`: "identity " "aggregate" "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:114:3'): sf with non-NA agr ──────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "identity " "aggregate" "NA " `expected`: "identity " "aggregate" "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:138:3'): sf with non-NA agr, i.class=FALSE, i.home=TRUE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: `names(actual)`: "id_B" "c" "v_B" "x.c" "v_A" `names(expected)`: "id_B" "c" "v_B" "geom_active_B" "x.c" "v_A" "geom_other_A" actual | expected [1] "NA " | "NA " [1] [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] [4] "aggregate" - "NA " [4] [5] "NA " - "aggregate" [5] - "NA " [6] - "NA " [7] ── Failure ('test15-SF-agr-sfc-attributes.R:149:3'): sf with non-NA agr, i.class=FALSE, i.home=TRUE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: names(actual) | names(expected) [1] "id_B" | "id_B" [1] [2] "c" | "c" [2] [3] "v_B" | "v_B" [3] [4] "id_A" - "geom_active_B" [4] [5] "x.c" - "id_A" [5] [6] "v_A" - "x.c" [6] - "v_A" [7] - "geom_other_A" [8] actual | expected [1] "NA " | "NA " [1] [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] [4] "identity " - "NA " [4] [5] "aggregate" - "identity " [5] [6] "NA " - "aggregate" [6] - "NA " [7] - "NA " [8] ── Failure ('test15-SF-agr-sfc-attributes.R:163:3'): sf with non-NA agr, i.class=TRUE, i.home=FALSE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: `names(actual)`: "id_A" "c" "v_A" "i.c" "v_B" `names(expected)`: "id_A" "c" "v_A" "geom_active_A" "geom_other_A" "i.c" "v_B" actual | expected [1] "NA " | "NA " [1] [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] - "NA " [4] - "NA " [5] [4] "constant" | "constant" [6] [5] "constant" | "constant" [7] ── Failure ('test15-SF-agr-sfc-attributes.R:174:3'): sf with non-NA agr, i.class=TRUE, i.home=FALSE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: names(actual) | names(expected) [1] "id_A" | "id_A" [1] [2] "c" | "c" [2] [3] "v_A" | "v_A" [3] - "geom_active_A" [4] - "geom_other_A" [5] [4] "id_B" | "id_B" [6] [5] "i.c" | "i.c" [7] [6] "v_B" | "v_B" [8] actual | expected [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] [4] "NA " | "NA " [4] [5] "constant" - "NA " [5] [6] "constant" - "NA " [6] - "constant" [7] - "constant" [8] [ FAIL 10 | WARN 0 | SKIP 0 | PASS 472 ] Error: ! Test failures. Execution halted Flavor: r-devel-linux-x86_64-debian-clang

Version: 0.1.0
Check: tests
Result: ERROR Running ‘testthat.R’ [9s/10s] Running the tests in ‘tests/testthat.R’ failed. Complete output: > # This file is part of the standard setup for testthat. > # It is recommended that you do not modify it. > # > # Where should you do additional test configuration? > # Learn more about the roles of various files in: > # * https://r-pkgs.org/testing-design.html#sec-tests-files-overview > # * https://testthat.r-lib.org/articles/special-files.html > > library(testthat) > library(fjoin) > > test_check("fjoin") id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 id c R.c <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 id c.x c.y <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 id c R.c <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 5: 1 row A1 <NA> 6: NA row A5 <NA> 7: NA row A6 <NA> id c.x c.y <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 5: 1 row A1 <NA> 6: NA row A5 <NA> 7: NA row A6 <NA> id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA <NA> row B1 6: NA <NA> row B2 7: 4 <NA> row B3 8: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA <NA> row B1 6: NA <NA> row B2 7: 4 <NA> row B3 8: 4 <NA> row B4 id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 9: 4 <NA> row B3 10: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 9: 4 <NA> row B3 10: 4 <NA> row B4 id c R.c <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 id c.x c.y <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> 8: NA <NA> row B1 9: NA <NA> row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> 8: NA <NA> row B1 9: NA <NA> row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c R.c <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 9: 1 row A1 <NA> 10: NA row A5 <NA> 11: NA row A6 <NA> id c.x c.y <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 9: 1 row A1 <NA> 10: NA row A5 <NA> 11: NA row A6 <NA> id c R.id R.c <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 1 row A1 NA row B2 3: 1 row A1 4 row B3 4: 1 row A1 4 row B4 5: 1 row A1 3 row B5 6: 1 row A1 3 row B6 7: 1 row A1 2 row B7 8: 2 row A2 NA row B1 9: 2 row A2 NA row B2 10: 2 row A2 4 row B3 11: 2 row A2 4 row B4 12: 2 row A2 3 row B5 13: 2 row A2 3 row B6 14: 2 row A2 2 row B7 15: 2 row A3 NA row B1 16: 2 row A3 NA row B2 17: 2 row A3 4 row B3 18: 2 row A3 4 row B4 19: 2 row A3 3 row B5 20: 2 row A3 3 row B6 21: 2 row A3 2 row B7 22: 3 row A4 NA row B1 23: 3 row A4 NA row B2 24: 3 row A4 4 row B3 25: 3 row A4 4 row B4 26: 3 row A4 3 row B5 27: 3 row A4 3 row B6 28: 3 row A4 2 row B7 29: NA row A5 NA row B1 30: NA row A5 NA row B2 31: NA row A5 4 row B3 32: NA row A5 4 row B4 33: NA row A5 3 row B5 34: NA row A5 3 row B6 35: NA row A5 2 row B7 36: NA row A6 NA row B1 37: NA row A6 NA row B2 38: NA row A6 4 row B3 39: NA row A6 4 row B4 40: NA row A6 3 row B5 41: NA row A6 3 row B6 42: NA row A6 2 row B7 id c R.id R.c <int> <char> <int> <char> id.x c.x id.y c.y <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 1 row A1 NA row B2 3: 1 row A1 4 row B3 4: 1 row A1 4 row B4 5: 1 row A1 3 row B5 6: 1 row A1 3 row B6 7: 1 row A1 2 row B7 8: 2 row A2 NA row B1 9: 2 row A2 NA row B2 10: 2 row A2 4 row B3 11: 2 row A2 4 row B4 12: 2 row A2 3 row B5 13: 2 row A2 3 row B6 14: 2 row A2 2 row B7 15: 2 row A3 NA row B1 16: 2 row A3 NA row B2 17: 2 row A3 4 row B3 18: 2 row A3 4 row B4 19: 2 row A3 3 row B5 20: 2 row A3 3 row B6 21: 2 row A3 2 row B7 22: 3 row A4 NA row B1 23: 3 row A4 NA row B2 24: 3 row A4 4 row B3 25: 3 row A4 4 row B4 26: 3 row A4 3 row B5 27: 3 row A4 3 row B6 28: 3 row A4 2 row B7 29: NA row A5 NA row B1 30: NA row A5 NA row B2 31: NA row A5 4 row B3 32: NA row A5 4 row B4 33: NA row A5 3 row B5 34: NA row A5 3 row B6 35: NA row A5 2 row B7 36: NA row A6 NA row B1 37: NA row A6 NA row B2 38: NA row A6 4 row B3 39: NA row A6 4 row B4 40: NA row A6 3 row B5 41: NA row A6 3 row B6 42: NA row A6 2 row B7 id.x c.x id.y c.y <int> <char> <int> <char> id c R.id R.c <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 2 row A2 NA row B1 3: 2 row A3 NA row B1 4: 3 row A4 NA row B1 5: NA row A5 NA row B1 6: NA row A6 NA row B1 7: 1 row A1 NA row B2 8: 2 row A2 NA row B2 9: 2 row A3 NA row B2 10: 3 row A4 NA row B2 11: NA row A5 NA row B2 12: NA row A6 NA row B2 13: 1 row A1 4 row B3 14: 2 row A2 4 row B3 15: 2 row A3 4 row B3 16: 3 row A4 4 row B3 17: NA row A5 4 row B3 18: NA row A6 4 row B3 19: 1 row A1 4 row B4 20: 2 row A2 4 row B4 21: 2 row A3 4 row B4 22: 3 row A4 4 row B4 23: NA row A5 4 row B4 24: NA row A6 4 row B4 25: 1 row A1 3 row B5 26: 2 row A2 3 row B5 27: 2 row A3 3 row B5 28: 3 row A4 3 row B5 29: NA row A5 3 row B5 30: NA row A6 3 row B5 31: 1 row A1 3 row B6 32: 2 row A2 3 row B6 33: 2 row A3 3 row B6 34: 3 row A4 3 row B6 35: NA row A5 3 row B6 36: NA row A6 3 row B6 37: 1 row A1 2 row B7 38: 2 row A2 2 row B7 39: 2 row A3 2 row B7 40: 3 row A4 2 row B7 41: NA row A5 2 row B7 42: NA row A6 2 row B7 id c R.id R.c <int> <char> <int> <char> id.x c.x id.y c.y <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 2 row A2 NA row B1 3: 2 row A3 NA row B1 4: 3 row A4 NA row B1 5: NA row A5 NA row B1 6: NA row A6 NA row B1 7: 1 row A1 NA row B2 8: 2 row A2 NA row B2 9: 2 row A3 NA row B2 10: 3 row A4 NA row B2 11: NA row A5 NA row B2 12: NA row A6 NA row B2 13: 1 row A1 4 row B3 14: 2 row A2 4 row B3 15: 2 row A3 4 row B3 16: 3 row A4 4 row B3 17: NA row A5 4 row B3 18: NA row A6 4 row B3 19: 1 row A1 4 row B4 20: 2 row A2 4 row B4 21: 2 row A3 4 row B4 22: 3 row A4 4 row B4 23: NA row A5 4 row B4 24: NA row A6 4 row B4 25: 1 row A1 3 row B5 26: 2 row A2 3 row B5 27: 2 row A3 3 row B5 28: 3 row A4 3 row B5 29: NA row A5 3 row B5 30: NA row A6 3 row B5 31: 1 row A1 3 row B6 32: 2 row A2 3 row B6 33: 2 row A3 3 row B6 34: 3 row A4 3 row B6 35: NA row A5 3 row B6 36: NA row A6 3 row B6 37: 1 row A1 2 row B7 38: 2 row A2 2 row B7 39: 2 row A3 2 row B7 40: 3 row A4 2 row B7 41: NA row A5 2 row B7 42: NA row A6 2 row B7 id.x c.x id.y c.y <int> <char> <int> <char> id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 Index: <id> id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 4: NA row A5 5: NA row A6 Index: <id> id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 4: NA row A5 5: NA row A6 id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 Index: <id> id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 4: NA row A5 NA 5: NA row A6 NA Index: <id> id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 4: NA row A5 NA 5: NA row A6 NA id c <int> <char> 1: 3 row B5 2: 3 row B6 3: 2 row B7 id c <int> <char> 1: 3 row B5 2: 3 row B6 3: 2 row B7 id c <int> <char> 1: NA row B1 2: NA row B2 3: 3 row B5 4: 3 row B6 5: 2 row B7 Index: <id> id c <int> <char> 1: NA row B1 2: NA row B2 3: 3 row B5 4: 3 row B6 5: 2 row B7 id c id2 <int> <char> <int> 1: 3 row B5 3 2: 3 row B6 3 3: 2 row B7 2 Index: <id> id c id2 <int> <char> <int> 1: 3 row B5 3 2: 3 row B6 3 3: 2 row B7 2 id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 3 row B5 3 4: 3 row B6 3 5: 2 row B7 2 Index: <id> id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 3 row B5 3 4: 3 row B6 3 5: 2 row B7 2 id c <int> <char> 1: 1 row A1 2: NA row A5 3: NA row A6 Index: <id> id c <int> <char> 1: 1 row A1 2: NA row A5 3: NA row A6 id c <int> <char> 1: 1 row A1 Index: <id> id c <int> <char> 1: 1 row A1 id c id2 <int> <char> <int> 1: 1 row A1 1 2: NA row A5 NA 3: NA row A6 NA Index: <id> id c id2 <int> <char> <int> 1: 1 row A1 1 2: NA row A5 NA 3: NA row A6 NA id c id2 <int> <char> <int> 1: 1 row A1 1 Index: <id> id c id2 <int> <char> <int> 1: 1 row A1 1 id c <int> <char> 1: NA row B1 2: NA row B2 3: 4 row B3 4: 4 row B4 Index: <id> id c <int> <char> 1: NA row B1 2: NA row B2 3: 4 row B3 4: 4 row B4 id c <int> <char> 1: 4 row B3 2: 4 row B4 Index: <id> id c <int> <char> 1: 4 row B3 2: 4 row B4 id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 4 row B3 4 4: 4 row B4 4 Index: <id> id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 4 row B3 4 4: 4 row B4 4 id c id2 <int> <char> <int> 1: 4 row B3 4 2: 4 row B4 4 Index: <id> id c id2 <int> <char> <int> 1: 4 row B3 4 2: 4 row B4 4 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 1 row A5 0 3 b 2 row A6 0 4 <NA> NA row A8 0 5 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 1 row A5 0 3 b 2 row A6 0 4 <NA> NA row A8 0 5 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 5 row A4 0 3 b 1 row A5 0 4 b 2 row A6 0 5 a 3 row A7 0 6 <NA> NA row A8 0 7 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 5 row A4 0 3 b 1 row A5 0 4 b 2 row A6 0 5 a 3 row A7 0 6 <NA> NA row A8 0 7 <NA> NA row A9 0 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A c 1 <NA> row A8 2 <NA> row A9 id_A c 1 <NA> row A8 2 <NA> row A9 id_A t_A c 1 a 1 row A2 2 b 1 row A5 3 b 2 row A6 4 <NA> NA row A8 5 <NA> NA row A9 id_A t_A c 1 a 1 row A2 2 b 1 row A5 3 b 2 row A6 4 <NA> NA row A8 5 <NA> NA row A9 id_A c 1 a row A2 2 b row A4 3 b row A5 4 b row A6 5 a row A7 6 <NA> row A8 7 <NA> row A9 id_A c 1 a row A2 2 b row A4 3 b row A5 4 b row A6 5 a row A7 6 <NA> row A8 7 <NA> row A9 id_A c 1 <NA> row A8 2 <NA> row A9 id_A c 1 <NA> row A8 2 <NA> row A9 .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: na.omit(.DT, cols = "id_B")[.i, on = "id_B == id_A", data.frame(id_A, t_A, c = i.c, v_A, t_B, R.c = c, v_B), allow.cartesian = TRUE] .DT : x = DF_A (cast as data.table) .i : y = DF_B (cast as data.table) Join: setDF(na.omit(.DT, cols = "id_A")[id_A %chin% .i$id_B])[] .DT : x = DF_A (cast as data.table) .i : y = DF_B (cast as data.table) Join: setDF(.DT[!id_A %chin% .i[, na.omit(.SD), .SDcols = "id_B"]$id_B])[] .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: setDF(.DT[id_B %chin% .i[, na.omit(.SD), .SDcols = "id_A"]$id_A])[] .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: setDF(.DT[!id_B %chin% .i[, na.omit(.SD), .SDcols = "id_A"]$id_A])[] .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: .DT[, fjoin.ind := TRUE][.i[, fjoin.ind := TRUE], on = "fjoin.ind", allow.cartesian = TRUE, data.frame(id_A, t_A, c = i.c, v_A, id_B, t_B, R.c = c, v_B)] .DT : DT_A .i : DT_B Join: with(list(fjoin.temp = setDT(setDT(na.omit(.i[, fjoin.which.i := .I], cols = "id_B")[.DT[, fjoin.which.DT := .I], on = "id_B == id_A", nomatch = NULL, mult = "first", data.frame(id_A = i.id_A, t_A = i.t_A, c = i.c, v_A = i.v_A, fjoin.which.DT = i.fjoin.which.DT, fjoin.ind.DT = TRUE, fjoin.which.i)])[.i, on = "fjoin.which.i", data.frame(.join = fifelse(is.na(fjoin.ind.DT), 2L, 3L), id_A = i.id_B, t_A, c, v_A, fjoin.which.DT, t_B, i.c, v_B)])), rbind(fjoin.temp, setDT(.DT[!fjoin.temp$fjoin.which.DT, data.frame(id_A, t_A, c, v_A, fjoin.which.DT, .join = rep(1L, .N))]), fill = TRUE))[, fjoin.which.DT := NULL][] .DT : DT_A .i : DT_B Join: .DT[!.i[, na.omit(.SD), .SDcols = "id_B"][.DT[, fjoin.which.DT := .I], on = "id_B == id_A", nomatch = NULL, mult = "first", fjoin.which.DT]][, fjoin.which.DT := NULL][] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: na.omit(.DT, cols = "id")[id %in% .i$id] .DT : (unnamed) .i : (unnamed) Join: na.omit(.DT, cols = "id")[id %in% .i$id] .DT : (unnamed) .i : (unnamed) Join: .DT[!id %in% .i[, na.omit(.SD), .SDcols = "id"]$id] .DT : (unnamed) .i : (unnamed) Join: .DT[!id %in% .i[, na.omit(.SD), .SDcols = "id"]$id] .DT : (unnamed) .i : (unnamed) Join: setDT(.DT[, fjoin.ind := TRUE][.i[, fjoin.ind := TRUE], on = "fjoin.ind", allow.cartesian = TRUE, data.frame(id, col_DT, col_c, i.id = i.id, col_i, i.col_c = i.col_c)]) .DT : (unnamed) .i : (unnamed) Join: setDT(.DT[, fjoin.ind := TRUE][.i[, fjoin.ind := TRUE], on = "fjoin.ind", allow.cartesian = TRUE, data.frame(id, col_DT, col_c, i.id = i.id, col_i, i.col_c = i.col_c)]) .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "fjoin_blah")[.i, on = "fjoin_blah", data.frame(fjoin_blah, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "blah_fjoin.")[.i, on = "blah_fjoin.", data.frame(blah_fjoin., col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(.DT[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", nomatch = NULL, data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", nomatch = NULL, data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", nomatch = NULL, data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] Saving _problems/test15-SF-agr-sfc-attributes-71.R Saving _problems/test15-SF-agr-sfc-attributes-73.R Saving _problems/test15-SF-agr-sfc-attributes-97.R Saving _problems/test15-SF-agr-sfc-attributes-109.R Saving _problems/test15-SF-agr-sfc-attributes-112.R Saving _problems/test15-SF-agr-sfc-attributes-114.R Saving _problems/test15-SF-agr-sfc-attributes-147.R Saving _problems/test15-SF-agr-sfc-attributes-159.R Saving _problems/test15-SF-agr-sfc-attributes-172.R Saving _problems/test15-SF-agr-sfc-attributes-184.R [ FAIL 10 | WARN 0 | SKIP 0 | PASS 472 ] ══ Failed tests ════════════════════════════════════════════════════════════════ ── Failure ('test15-SF-agr-sfc-attributes.R:71:3'): sf no non-NA agr ─────────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "NA" "NA" "NA" `expected`: "NA" "NA" "NA" "NA" ── Failure ('test15-SF-agr-sfc-attributes.R:73:3'): sf no non-NA agr ─────────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "NA" "NA" "NA" `expected`: "NA" "NA" "NA" "NA" ── Failure ('test15-SF-agr-sfc-attributes.R:88:3'): sf with non-NA agr ───────── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: `names(actual)`: "id_A" "c" "v_A" "i.c" "v_B" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" "i.c" "v_B" "geom_active_B" `actual[3:5]`: "NA " "NA " "NA " `expected[3:7]`: "NA " "NA " "NA " "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:99:3'): sf with non-NA agr ───────── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: names(actual) | names(expected) [1] "id_A" | "id_A" [1] [2] "c" | "c" [2] [3] "v_A" | "v_A" [3] [4] "id_B" - "geom_other_A" [4] [5] "i.c" - "id_B" [5] [6] "v_B" - "i.c" [6] - "v_B" [7] - "geom_active_B" [8] `actual[4:6]`: "NA " "NA " "NA " `expected[4:8]`: "NA " "NA " "NA " "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:112:3'): sf with non-NA agr ──────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "identity " "aggregate" "NA " `expected`: "identity " "aggregate" "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:114:3'): sf with non-NA agr ──────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "identity " "aggregate" "NA " `expected`: "identity " "aggregate" "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:138:3'): sf with non-NA agr, i.class=FALSE, i.home=TRUE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: `names(actual)`: "id_B" "c" "v_B" "x.c" "v_A" `names(expected)`: "id_B" "c" "v_B" "geom_active_B" "x.c" "v_A" "geom_other_A" actual | expected [1] "NA " | "NA " [1] [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] [4] "aggregate" - "NA " [4] [5] "NA " - "aggregate" [5] - "NA " [6] - "NA " [7] ── Failure ('test15-SF-agr-sfc-attributes.R:149:3'): sf with non-NA agr, i.class=FALSE, i.home=TRUE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: names(actual) | names(expected) [1] "id_B" | "id_B" [1] [2] "c" | "c" [2] [3] "v_B" | "v_B" [3] [4] "id_A" - "geom_active_B" [4] [5] "x.c" - "id_A" [5] [6] "v_A" - "x.c" [6] - "v_A" [7] - "geom_other_A" [8] actual | expected [1] "NA " | "NA " [1] [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] [4] "identity " - "NA " [4] [5] "aggregate" - "identity " [5] [6] "NA " - "aggregate" [6] - "NA " [7] - "NA " [8] ── Failure ('test15-SF-agr-sfc-attributes.R:163:3'): sf with non-NA agr, i.class=TRUE, i.home=FALSE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: `names(actual)`: "id_A" "c" "v_A" "i.c" "v_B" `names(expected)`: "id_A" "c" "v_A" "geom_active_A" "geom_other_A" "i.c" "v_B" actual | expected [1] "NA " | "NA " [1] [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] - "NA " [4] - "NA " [5] [4] "constant" | "constant" [6] [5] "constant" | "constant" [7] ── Failure ('test15-SF-agr-sfc-attributes.R:174:3'): sf with non-NA agr, i.class=TRUE, i.home=FALSE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: names(actual) | names(expected) [1] "id_A" | "id_A" [1] [2] "c" | "c" [2] [3] "v_A" | "v_A" [3] - "geom_active_A" [4] - "geom_other_A" [5] [4] "id_B" | "id_B" [6] [5] "i.c" | "i.c" [7] [6] "v_B" | "v_B" [8] actual | expected [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] [4] "NA " | "NA " [4] [5] "constant" - "NA " [5] [6] "constant" - "NA " [6] - "constant" [7] - "constant" [8] [ FAIL 10 | WARN 0 | SKIP 0 | PASS 472 ] Error: ! Test failures. Execution halted Flavor: r-devel-linux-x86_64-debian-gcc

Version: 0.1.0
Check: tests
Result: ERROR Running ‘testthat.R’ [21s/25s] Running the tests in ‘tests/testthat.R’ failed. Complete output: > # This file is part of the standard setup for testthat. > # It is recommended that you do not modify it. > # > # Where should you do additional test configuration? > # Learn more about the roles of various files in: > # * https://r-pkgs.org/testing-design.html#sec-tests-files-overview > # * https://testthat.r-lib.org/articles/special-files.html > > library(testthat) > library(fjoin) > > test_check("fjoin") id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 id c R.c <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 id c.x c.y <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 id c R.c <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 5: 1 row A1 <NA> 6: NA row A5 <NA> 7: NA row A6 <NA> id c.x c.y <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 5: 1 row A1 <NA> 6: NA row A5 <NA> 7: NA row A6 <NA> id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA <NA> row B1 6: NA <NA> row B2 7: 4 <NA> row B3 8: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA <NA> row B1 6: NA <NA> row B2 7: 4 <NA> row B3 8: 4 <NA> row B4 id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 9: 4 <NA> row B3 10: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 9: 4 <NA> row B3 10: 4 <NA> row B4 id c R.c <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 id c.x c.y <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> 8: NA <NA> row B1 9: NA <NA> row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> 8: NA <NA> row B1 9: NA <NA> row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c R.c <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 9: 1 row A1 <NA> 10: NA row A5 <NA> 11: NA row A6 <NA> id c.x c.y <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 9: 1 row A1 <NA> 10: NA row A5 <NA> 11: NA row A6 <NA> id c R.id R.c <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 1 row A1 NA row B2 3: 1 row A1 4 row B3 4: 1 row A1 4 row B4 5: 1 row A1 3 row B5 6: 1 row A1 3 row B6 7: 1 row A1 2 row B7 8: 2 row A2 NA row B1 9: 2 row A2 NA row B2 10: 2 row A2 4 row B3 11: 2 row A2 4 row B4 12: 2 row A2 3 row B5 13: 2 row A2 3 row B6 14: 2 row A2 2 row B7 15: 2 row A3 NA row B1 16: 2 row A3 NA row B2 17: 2 row A3 4 row B3 18: 2 row A3 4 row B4 19: 2 row A3 3 row B5 20: 2 row A3 3 row B6 21: 2 row A3 2 row B7 22: 3 row A4 NA row B1 23: 3 row A4 NA row B2 24: 3 row A4 4 row B3 25: 3 row A4 4 row B4 26: 3 row A4 3 row B5 27: 3 row A4 3 row B6 28: 3 row A4 2 row B7 29: NA row A5 NA row B1 30: NA row A5 NA row B2 31: NA row A5 4 row B3 32: NA row A5 4 row B4 33: NA row A5 3 row B5 34: NA row A5 3 row B6 35: NA row A5 2 row B7 36: NA row A6 NA row B1 37: NA row A6 NA row B2 38: NA row A6 4 row B3 39: NA row A6 4 row B4 40: NA row A6 3 row B5 41: NA row A6 3 row B6 42: NA row A6 2 row B7 id c R.id R.c <int> <char> <int> <char> id.x c.x id.y c.y <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 1 row A1 NA row B2 3: 1 row A1 4 row B3 4: 1 row A1 4 row B4 5: 1 row A1 3 row B5 6: 1 row A1 3 row B6 7: 1 row A1 2 row B7 8: 2 row A2 NA row B1 9: 2 row A2 NA row B2 10: 2 row A2 4 row B3 11: 2 row A2 4 row B4 12: 2 row A2 3 row B5 13: 2 row A2 3 row B6 14: 2 row A2 2 row B7 15: 2 row A3 NA row B1 16: 2 row A3 NA row B2 17: 2 row A3 4 row B3 18: 2 row A3 4 row B4 19: 2 row A3 3 row B5 20: 2 row A3 3 row B6 21: 2 row A3 2 row B7 22: 3 row A4 NA row B1 23: 3 row A4 NA row B2 24: 3 row A4 4 row B3 25: 3 row A4 4 row B4 26: 3 row A4 3 row B5 27: 3 row A4 3 row B6 28: 3 row A4 2 row B7 29: NA row A5 NA row B1 30: NA row A5 NA row B2 31: NA row A5 4 row B3 32: NA row A5 4 row B4 33: NA row A5 3 row B5 34: NA row A5 3 row B6 35: NA row A5 2 row B7 36: NA row A6 NA row B1 37: NA row A6 NA row B2 38: NA row A6 4 row B3 39: NA row A6 4 row B4 40: NA row A6 3 row B5 41: NA row A6 3 row B6 42: NA row A6 2 row B7 id.x c.x id.y c.y <int> <char> <int> <char> id c R.id R.c <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 2 row A2 NA row B1 3: 2 row A3 NA row B1 4: 3 row A4 NA row B1 5: NA row A5 NA row B1 6: NA row A6 NA row B1 7: 1 row A1 NA row B2 8: 2 row A2 NA row B2 9: 2 row A3 NA row B2 10: 3 row A4 NA row B2 11: NA row A5 NA row B2 12: NA row A6 NA row B2 13: 1 row A1 4 row B3 14: 2 row A2 4 row B3 15: 2 row A3 4 row B3 16: 3 row A4 4 row B3 17: NA row A5 4 row B3 18: NA row A6 4 row B3 19: 1 row A1 4 row B4 20: 2 row A2 4 row B4 21: 2 row A3 4 row B4 22: 3 row A4 4 row B4 23: NA row A5 4 row B4 24: NA row A6 4 row B4 25: 1 row A1 3 row B5 26: 2 row A2 3 row B5 27: 2 row A3 3 row B5 28: 3 row A4 3 row B5 29: NA row A5 3 row B5 30: NA row A6 3 row B5 31: 1 row A1 3 row B6 32: 2 row A2 3 row B6 33: 2 row A3 3 row B6 34: 3 row A4 3 row B6 35: NA row A5 3 row B6 36: NA row A6 3 row B6 37: 1 row A1 2 row B7 38: 2 row A2 2 row B7 39: 2 row A3 2 row B7 40: 3 row A4 2 row B7 41: NA row A5 2 row B7 42: NA row A6 2 row B7 id c R.id R.c <int> <char> <int> <char> id.x c.x id.y c.y <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 2 row A2 NA row B1 3: 2 row A3 NA row B1 4: 3 row A4 NA row B1 5: NA row A5 NA row B1 6: NA row A6 NA row B1 7: 1 row A1 NA row B2 8: 2 row A2 NA row B2 9: 2 row A3 NA row B2 10: 3 row A4 NA row B2 11: NA row A5 NA row B2 12: NA row A6 NA row B2 13: 1 row A1 4 row B3 14: 2 row A2 4 row B3 15: 2 row A3 4 row B3 16: 3 row A4 4 row B3 17: NA row A5 4 row B3 18: NA row A6 4 row B3 19: 1 row A1 4 row B4 20: 2 row A2 4 row B4 21: 2 row A3 4 row B4 22: 3 row A4 4 row B4 23: NA row A5 4 row B4 24: NA row A6 4 row B4 25: 1 row A1 3 row B5 26: 2 row A2 3 row B5 27: 2 row A3 3 row B5 28: 3 row A4 3 row B5 29: NA row A5 3 row B5 30: NA row A6 3 row B5 31: 1 row A1 3 row B6 32: 2 row A2 3 row B6 33: 2 row A3 3 row B6 34: 3 row A4 3 row B6 35: NA row A5 3 row B6 36: NA row A6 3 row B6 37: 1 row A1 2 row B7 38: 2 row A2 2 row B7 39: 2 row A3 2 row B7 40: 3 row A4 2 row B7 41: NA row A5 2 row B7 42: NA row A6 2 row B7 id.x c.x id.y c.y <int> <char> <int> <char> id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 Index: <id> id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 4: NA row A5 5: NA row A6 Index: <id> id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 4: NA row A5 5: NA row A6 id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 Index: <id> id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 4: NA row A5 NA 5: NA row A6 NA Index: <id> id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 4: NA row A5 NA 5: NA row A6 NA id c <int> <char> 1: 3 row B5 2: 3 row B6 3: 2 row B7 id c <int> <char> 1: 3 row B5 2: 3 row B6 3: 2 row B7 id c <int> <char> 1: NA row B1 2: NA row B2 3: 3 row B5 4: 3 row B6 5: 2 row B7 Index: <id> id c <int> <char> 1: NA row B1 2: NA row B2 3: 3 row B5 4: 3 row B6 5: 2 row B7 id c id2 <int> <char> <int> 1: 3 row B5 3 2: 3 row B6 3 3: 2 row B7 2 Index: <id> id c id2 <int> <char> <int> 1: 3 row B5 3 2: 3 row B6 3 3: 2 row B7 2 id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 3 row B5 3 4: 3 row B6 3 5: 2 row B7 2 Index: <id> id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 3 row B5 3 4: 3 row B6 3 5: 2 row B7 2 id c <int> <char> 1: 1 row A1 2: NA row A5 3: NA row A6 Index: <id> id c <int> <char> 1: 1 row A1 2: NA row A5 3: NA row A6 id c <int> <char> 1: 1 row A1 Index: <id> id c <int> <char> 1: 1 row A1 id c id2 <int> <char> <int> 1: 1 row A1 1 2: NA row A5 NA 3: NA row A6 NA Index: <id> id c id2 <int> <char> <int> 1: 1 row A1 1 2: NA row A5 NA 3: NA row A6 NA id c id2 <int> <char> <int> 1: 1 row A1 1 Index: <id> id c id2 <int> <char> <int> 1: 1 row A1 1 id c <int> <char> 1: NA row B1 2: NA row B2 3: 4 row B3 4: 4 row B4 Index: <id> id c <int> <char> 1: NA row B1 2: NA row B2 3: 4 row B3 4: 4 row B4 id c <int> <char> 1: 4 row B3 2: 4 row B4 Index: <id> id c <int> <char> 1: 4 row B3 2: 4 row B4 id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 4 row B3 4 4: 4 row B4 4 Index: <id> id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 4 row B3 4 4: 4 row B4 4 id c id2 <int> <char> <int> 1: 4 row B3 4 2: 4 row B4 4 Index: <id> id c id2 <int> <char> <int> 1: 4 row B3 4 2: 4 row B4 4 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 1 row A5 0 3 b 2 row A6 0 4 <NA> NA row A8 0 5 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 1 row A5 0 3 b 2 row A6 0 4 <NA> NA row A8 0 5 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 5 row A4 0 3 b 1 row A5 0 4 b 2 row A6 0 5 a 3 row A7 0 6 <NA> NA row A8 0 7 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 5 row A4 0 3 b 1 row A5 0 4 b 2 row A6 0 5 a 3 row A7 0 6 <NA> NA row A8 0 7 <NA> NA row A9 0 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A c 1 <NA> row A8 2 <NA> row A9 id_A c 1 <NA> row A8 2 <NA> row A9 id_A t_A c 1 a 1 row A2 2 b 1 row A5 3 b 2 row A6 4 <NA> NA row A8 5 <NA> NA row A9 id_A t_A c 1 a 1 row A2 2 b 1 row A5 3 b 2 row A6 4 <NA> NA row A8 5 <NA> NA row A9 id_A c 1 a row A2 2 b row A4 3 b row A5 4 b row A6 5 a row A7 6 <NA> row A8 7 <NA> row A9 id_A c 1 a row A2 2 b row A4 3 b row A5 4 b row A6 5 a row A7 6 <NA> row A8 7 <NA> row A9 id_A c 1 <NA> row A8 2 <NA> row A9 id_A c 1 <NA> row A8 2 <NA> row A9 .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: na.omit(.DT, cols = "id_B")[.i, on = "id_B == id_A", data.frame(id_A, t_A, c = i.c, v_A, t_B, R.c = c, v_B), allow.cartesian = TRUE] .DT : x = DF_A (cast as data.table) .i : y = DF_B (cast as data.table) Join: setDF(na.omit(.DT, cols = "id_A")[id_A %chin% .i$id_B])[] .DT : x = DF_A (cast as data.table) .i : y = DF_B (cast as data.table) Join: setDF(.DT[!id_A %chin% .i[, na.omit(.SD), .SDcols = "id_B"]$id_B])[] .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: setDF(.DT[id_B %chin% .i[, na.omit(.SD), .SDcols = "id_A"]$id_A])[] .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: setDF(.DT[!id_B %chin% .i[, na.omit(.SD), .SDcols = "id_A"]$id_A])[] .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: .DT[, fjoin.ind := TRUE][.i[, fjoin.ind := TRUE], on = "fjoin.ind", allow.cartesian = TRUE, data.frame(id_A, t_A, c = i.c, v_A, id_B, t_B, R.c = c, v_B)] .DT : DT_A .i : DT_B Join: with(list(fjoin.temp = setDT(setDT(na.omit(.i[, fjoin.which.i := .I], cols = "id_B")[.DT[, fjoin.which.DT := .I], on = "id_B == id_A", nomatch = NULL, mult = "first", data.frame(id_A = i.id_A, t_A = i.t_A, c = i.c, v_A = i.v_A, fjoin.which.DT = i.fjoin.which.DT, fjoin.ind.DT = TRUE, fjoin.which.i)])[.i, on = "fjoin.which.i", data.frame(.join = fifelse(is.na(fjoin.ind.DT), 2L, 3L), id_A = i.id_B, t_A, c, v_A, fjoin.which.DT, t_B, i.c, v_B)])), rbind(fjoin.temp, setDT(.DT[!fjoin.temp$fjoin.which.DT, data.frame(id_A, t_A, c, v_A, fjoin.which.DT, .join = rep(1L, .N))]), fill = TRUE))[, fjoin.which.DT := NULL][] .DT : DT_A .i : DT_B Join: .DT[!.i[, na.omit(.SD), .SDcols = "id_B"][.DT[, fjoin.which.DT := .I], on = "id_B == id_A", nomatch = NULL, mult = "first", fjoin.which.DT]][, fjoin.which.DT := NULL][] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: na.omit(.DT, cols = "id")[id %in% .i$id] .DT : (unnamed) .i : (unnamed) Join: na.omit(.DT, cols = "id")[id %in% .i$id] .DT : (unnamed) .i : (unnamed) Join: .DT[!id %in% .i[, na.omit(.SD), .SDcols = "id"]$id] .DT : (unnamed) .i : (unnamed) Join: .DT[!id %in% .i[, na.omit(.SD), .SDcols = "id"]$id] .DT : (unnamed) .i : (unnamed) Join: setDT(.DT[, fjoin.ind := TRUE][.i[, fjoin.ind := TRUE], on = "fjoin.ind", allow.cartesian = TRUE, data.frame(id, col_DT, col_c, i.id = i.id, col_i, i.col_c = i.col_c)]) .DT : (unnamed) .i : (unnamed) Join: setDT(.DT[, fjoin.ind := TRUE][.i[, fjoin.ind := TRUE], on = "fjoin.ind", allow.cartesian = TRUE, data.frame(id, col_DT, col_c, i.id = i.id, col_i, i.col_c = i.col_c)]) .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "fjoin_blah")[.i, on = "fjoin_blah", data.frame(fjoin_blah, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "blah_fjoin.")[.i, on = "blah_fjoin.", data.frame(blah_fjoin., col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(.DT[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", nomatch = NULL, data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", nomatch = NULL, data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", nomatch = NULL, data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] Saving _problems/test15-SF-agr-sfc-attributes-71.R Saving _problems/test15-SF-agr-sfc-attributes-73.R Saving _problems/test15-SF-agr-sfc-attributes-97.R Saving _problems/test15-SF-agr-sfc-attributes-109.R Saving _problems/test15-SF-agr-sfc-attributes-112.R Saving _problems/test15-SF-agr-sfc-attributes-114.R Saving _problems/test15-SF-agr-sfc-attributes-147.R Saving _problems/test15-SF-agr-sfc-attributes-159.R Saving _problems/test15-SF-agr-sfc-attributes-172.R Saving _problems/test15-SF-agr-sfc-attributes-184.R [ FAIL 10 | WARN 0 | SKIP 0 | PASS 472 ] ══ Failed tests ════════════════════════════════════════════════════════════════ ── Failure ('test15-SF-agr-sfc-attributes.R:71:3'): sf no non-NA agr ─────────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "NA" "NA" "NA" `expected`: "NA" "NA" "NA" "NA" ── Failure ('test15-SF-agr-sfc-attributes.R:73:3'): sf no non-NA agr ─────────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "NA" "NA" "NA" `expected`: "NA" "NA" "NA" "NA" ── Failure ('test15-SF-agr-sfc-attributes.R:88:3'): sf with non-NA agr ───────── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: `names(actual)`: "id_A" "c" "v_A" "i.c" "v_B" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" "i.c" "v_B" "geom_active_B" `actual[3:5]`: "NA " "NA " "NA " `expected[3:7]`: "NA " "NA " "NA " "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:99:3'): sf with non-NA agr ───────── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: names(actual) | names(expected) [1] "id_A" | "id_A" [1] [2] "c" | "c" [2] [3] "v_A" | "v_A" [3] [4] "id_B" - "geom_other_A" [4] [5] "i.c" - "id_B" [5] [6] "v_B" - "i.c" [6] - "v_B" [7] - "geom_active_B" [8] `actual[4:6]`: "NA " "NA " "NA " `expected[4:8]`: "NA " "NA " "NA " "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:112:3'): sf with non-NA agr ──────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "identity " "aggregate" "NA " `expected`: "identity " "aggregate" "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:114:3'): sf with non-NA agr ──────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "identity " "aggregate" "NA " `expected`: "identity " "aggregate" "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:138:3'): sf with non-NA agr, i.class=FALSE, i.home=TRUE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: `names(actual)`: "id_B" "c" "v_B" "x.c" "v_A" `names(expected)`: "id_B" "c" "v_B" "geom_active_B" "x.c" "v_A" "geom_other_A" actual | expected [1] "NA " | "NA " [1] [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] [4] "aggregate" - "NA " [4] [5] "NA " - "aggregate" [5] - "NA " [6] - "NA " [7] ── Failure ('test15-SF-agr-sfc-attributes.R:149:3'): sf with non-NA agr, i.class=FALSE, i.home=TRUE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: names(actual) | names(expected) [1] "id_B" | "id_B" [1] [2] "c" | "c" [2] [3] "v_B" | "v_B" [3] [4] "id_A" - "geom_active_B" [4] [5] "x.c" - "id_A" [5] [6] "v_A" - "x.c" [6] - "v_A" [7] - "geom_other_A" [8] actual | expected [1] "NA " | "NA " [1] [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] [4] "identity " - "NA " [4] [5] "aggregate" - "identity " [5] [6] "NA " - "aggregate" [6] - "NA " [7] - "NA " [8] ── Failure ('test15-SF-agr-sfc-attributes.R:163:3'): sf with non-NA agr, i.class=TRUE, i.home=FALSE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: `names(actual)`: "id_A" "c" "v_A" "i.c" "v_B" `names(expected)`: "id_A" "c" "v_A" "geom_active_A" "geom_other_A" "i.c" "v_B" actual | expected [1] "NA " | "NA " [1] [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] - "NA " [4] - "NA " [5] [4] "constant" | "constant" [6] [5] "constant" | "constant" [7] ── Failure ('test15-SF-agr-sfc-attributes.R:174:3'): sf with non-NA agr, i.class=TRUE, i.home=FALSE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: names(actual) | names(expected) [1] "id_A" | "id_A" [1] [2] "c" | "c" [2] [3] "v_A" | "v_A" [3] - "geom_active_A" [4] - "geom_other_A" [5] [4] "id_B" | "id_B" [6] [5] "i.c" | "i.c" [7] [6] "v_B" | "v_B" [8] actual | expected [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] [4] "NA " | "NA " [4] [5] "constant" - "NA " [5] [6] "constant" - "NA " [6] - "constant" [7] - "constant" [8] [ FAIL 10 | WARN 0 | SKIP 0 | PASS 472 ] Error: ! Test failures. Execution halted Flavor: r-devel-linux-x86_64-fedora-gcc

Version: 0.1.0
Check: tests
Result: ERROR Running 'testthat.R' [13s] Running the tests in 'tests/testthat.R' failed. Complete output: > # This file is part of the standard setup for testthat. > # It is recommended that you do not modify it. > # > # Where should you do additional test configuration? > # Learn more about the roles of various files in: > # * https://r-pkgs.org/testing-design.html#sec-tests-files-overview > # * https://testthat.r-lib.org/articles/special-files.html > > library(testthat) > library(fjoin) > > test_check("fjoin") id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 id c R.c <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 id c.x c.y <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 id c R.c <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 5: 1 row A1 <NA> 6: NA row A5 <NA> 7: NA row A6 <NA> id c.x c.y <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 5: 1 row A1 <NA> 6: NA row A5 <NA> 7: NA row A6 <NA> id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA <NA> row B1 6: NA <NA> row B2 7: 4 <NA> row B3 8: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA <NA> row B1 6: NA <NA> row B2 7: 4 <NA> row B3 8: 4 <NA> row B4 id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 9: 4 <NA> row B3 10: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 9: 4 <NA> row B3 10: 4 <NA> row B4 id c R.c <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 id c.x c.y <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> 8: NA <NA> row B1 9: NA <NA> row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> 8: NA <NA> row B1 9: NA <NA> row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c R.c <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 9: 1 row A1 <NA> 10: NA row A5 <NA> 11: NA row A6 <NA> id c.x c.y <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 9: 1 row A1 <NA> 10: NA row A5 <NA> 11: NA row A6 <NA> id c R.id R.c <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 1 row A1 NA row B2 3: 1 row A1 4 row B3 4: 1 row A1 4 row B4 5: 1 row A1 3 row B5 6: 1 row A1 3 row B6 7: 1 row A1 2 row B7 8: 2 row A2 NA row B1 9: 2 row A2 NA row B2 10: 2 row A2 4 row B3 11: 2 row A2 4 row B4 12: 2 row A2 3 row B5 13: 2 row A2 3 row B6 14: 2 row A2 2 row B7 15: 2 row A3 NA row B1 16: 2 row A3 NA row B2 17: 2 row A3 4 row B3 18: 2 row A3 4 row B4 19: 2 row A3 3 row B5 20: 2 row A3 3 row B6 21: 2 row A3 2 row B7 22: 3 row A4 NA row B1 23: 3 row A4 NA row B2 24: 3 row A4 4 row B3 25: 3 row A4 4 row B4 26: 3 row A4 3 row B5 27: 3 row A4 3 row B6 28: 3 row A4 2 row B7 29: NA row A5 NA row B1 30: NA row A5 NA row B2 31: NA row A5 4 row B3 32: NA row A5 4 row B4 33: NA row A5 3 row B5 34: NA row A5 3 row B6 35: NA row A5 2 row B7 36: NA row A6 NA row B1 37: NA row A6 NA row B2 38: NA row A6 4 row B3 39: NA row A6 4 row B4 40: NA row A6 3 row B5 41: NA row A6 3 row B6 42: NA row A6 2 row B7 id c R.id R.c <int> <char> <int> <char> id.x c.x id.y c.y <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 1 row A1 NA row B2 3: 1 row A1 4 row B3 4: 1 row A1 4 row B4 5: 1 row A1 3 row B5 6: 1 row A1 3 row B6 7: 1 row A1 2 row B7 8: 2 row A2 NA row B1 9: 2 row A2 NA row B2 10: 2 row A2 4 row B3 11: 2 row A2 4 row B4 12: 2 row A2 3 row B5 13: 2 row A2 3 row B6 14: 2 row A2 2 row B7 15: 2 row A3 NA row B1 16: 2 row A3 NA row B2 17: 2 row A3 4 row B3 18: 2 row A3 4 row B4 19: 2 row A3 3 row B5 20: 2 row A3 3 row B6 21: 2 row A3 2 row B7 22: 3 row A4 NA row B1 23: 3 row A4 NA row B2 24: 3 row A4 4 row B3 25: 3 row A4 4 row B4 26: 3 row A4 3 row B5 27: 3 row A4 3 row B6 28: 3 row A4 2 row B7 29: NA row A5 NA row B1 30: NA row A5 NA row B2 31: NA row A5 4 row B3 32: NA row A5 4 row B4 33: NA row A5 3 row B5 34: NA row A5 3 row B6 35: NA row A5 2 row B7 36: NA row A6 NA row B1 37: NA row A6 NA row B2 38: NA row A6 4 row B3 39: NA row A6 4 row B4 40: NA row A6 3 row B5 41: NA row A6 3 row B6 42: NA row A6 2 row B7 id.x c.x id.y c.y <int> <char> <int> <char> id c R.id R.c <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 2 row A2 NA row B1 3: 2 row A3 NA row B1 4: 3 row A4 NA row B1 5: NA row A5 NA row B1 6: NA row A6 NA row B1 7: 1 row A1 NA row B2 8: 2 row A2 NA row B2 9: 2 row A3 NA row B2 10: 3 row A4 NA row B2 11: NA row A5 NA row B2 12: NA row A6 NA row B2 13: 1 row A1 4 row B3 14: 2 row A2 4 row B3 15: 2 row A3 4 row B3 16: 3 row A4 4 row B3 17: NA row A5 4 row B3 18: NA row A6 4 row B3 19: 1 row A1 4 row B4 20: 2 row A2 4 row B4 21: 2 row A3 4 row B4 22: 3 row A4 4 row B4 23: NA row A5 4 row B4 24: NA row A6 4 row B4 25: 1 row A1 3 row B5 26: 2 row A2 3 row B5 27: 2 row A3 3 row B5 28: 3 row A4 3 row B5 29: NA row A5 3 row B5 30: NA row A6 3 row B5 31: 1 row A1 3 row B6 32: 2 row A2 3 row B6 33: 2 row A3 3 row B6 34: 3 row A4 3 row B6 35: NA row A5 3 row B6 36: NA row A6 3 row B6 37: 1 row A1 2 row B7 38: 2 row A2 2 row B7 39: 2 row A3 2 row B7 40: 3 row A4 2 row B7 41: NA row A5 2 row B7 42: NA row A6 2 row B7 id c R.id R.c <int> <char> <int> <char> id.x c.x id.y c.y <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 2 row A2 NA row B1 3: 2 row A3 NA row B1 4: 3 row A4 NA row B1 5: NA row A5 NA row B1 6: NA row A6 NA row B1 7: 1 row A1 NA row B2 8: 2 row A2 NA row B2 9: 2 row A3 NA row B2 10: 3 row A4 NA row B2 11: NA row A5 NA row B2 12: NA row A6 NA row B2 13: 1 row A1 4 row B3 14: 2 row A2 4 row B3 15: 2 row A3 4 row B3 16: 3 row A4 4 row B3 17: NA row A5 4 row B3 18: NA row A6 4 row B3 19: 1 row A1 4 row B4 20: 2 row A2 4 row B4 21: 2 row A3 4 row B4 22: 3 row A4 4 row B4 23: NA row A5 4 row B4 24: NA row A6 4 row B4 25: 1 row A1 3 row B5 26: 2 row A2 3 row B5 27: 2 row A3 3 row B5 28: 3 row A4 3 row B5 29: NA row A5 3 row B5 30: NA row A6 3 row B5 31: 1 row A1 3 row B6 32: 2 row A2 3 row B6 33: 2 row A3 3 row B6 34: 3 row A4 3 row B6 35: NA row A5 3 row B6 36: NA row A6 3 row B6 37: 1 row A1 2 row B7 38: 2 row A2 2 row B7 39: 2 row A3 2 row B7 40: 3 row A4 2 row B7 41: NA row A5 2 row B7 42: NA row A6 2 row B7 id.x c.x id.y c.y <int> <char> <int> <char> id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 Index: <id> id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 4: NA row A5 5: NA row A6 Index: <id> id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 4: NA row A5 5: NA row A6 id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 Index: <id> id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 4: NA row A5 NA 5: NA row A6 NA Index: <id> id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 4: NA row A5 NA 5: NA row A6 NA id c <int> <char> 1: 3 row B5 2: 3 row B6 3: 2 row B7 id c <int> <char> 1: 3 row B5 2: 3 row B6 3: 2 row B7 id c <int> <char> 1: NA row B1 2: NA row B2 3: 3 row B5 4: 3 row B6 5: 2 row B7 Index: <id> id c <int> <char> 1: NA row B1 2: NA row B2 3: 3 row B5 4: 3 row B6 5: 2 row B7 id c id2 <int> <char> <int> 1: 3 row B5 3 2: 3 row B6 3 3: 2 row B7 2 Index: <id> id c id2 <int> <char> <int> 1: 3 row B5 3 2: 3 row B6 3 3: 2 row B7 2 id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 3 row B5 3 4: 3 row B6 3 5: 2 row B7 2 Index: <id> id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 3 row B5 3 4: 3 row B6 3 5: 2 row B7 2 id c <int> <char> 1: 1 row A1 2: NA row A5 3: NA row A6 Index: <id> id c <int> <char> 1: 1 row A1 2: NA row A5 3: NA row A6 id c <int> <char> 1: 1 row A1 Index: <id> id c <int> <char> 1: 1 row A1 id c id2 <int> <char> <int> 1: 1 row A1 1 2: NA row A5 NA 3: NA row A6 NA Index: <id> id c id2 <int> <char> <int> 1: 1 row A1 1 2: NA row A5 NA 3: NA row A6 NA id c id2 <int> <char> <int> 1: 1 row A1 1 Index: <id> id c id2 <int> <char> <int> 1: 1 row A1 1 id c <int> <char> 1: NA row B1 2: NA row B2 3: 4 row B3 4: 4 row B4 Index: <id> id c <int> <char> 1: NA row B1 2: NA row B2 3: 4 row B3 4: 4 row B4 id c <int> <char> 1: 4 row B3 2: 4 row B4 Index: <id> id c <int> <char> 1: 4 row B3 2: 4 row B4 id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 4 row B3 4 4: 4 row B4 4 Index: <id> id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 4 row B3 4 4: 4 row B4 4 id c id2 <int> <char> <int> 1: 4 row B3 4 2: 4 row B4 4 Index: <id> id c id2 <int> <char> <int> 1: 4 row B3 4 2: 4 row B4 4 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 1 row A5 0 3 b 2 row A6 0 4 <NA> NA row A8 0 5 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 1 row A5 0 3 b 2 row A6 0 4 <NA> NA row A8 0 5 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 5 row A4 0 3 b 1 row A5 0 4 b 2 row A6 0 5 a 3 row A7 0 6 <NA> NA row A8 0 7 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 5 row A4 0 3 b 1 row A5 0 4 b 2 row A6 0 5 a 3 row A7 0 6 <NA> NA row A8 0 7 <NA> NA row A9 0 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A c 1 <NA> row A8 2 <NA> row A9 id_A c 1 <NA> row A8 2 <NA> row A9 id_A t_A c 1 a 1 row A2 2 b 1 row A5 3 b 2 row A6 4 <NA> NA row A8 5 <NA> NA row A9 id_A t_A c 1 a 1 row A2 2 b 1 row A5 3 b 2 row A6 4 <NA> NA row A8 5 <NA> NA row A9 id_A c 1 a row A2 2 b row A4 3 b row A5 4 b row A6 5 a row A7 6 <NA> row A8 7 <NA> row A9 id_A c 1 a row A2 2 b row A4 3 b row A5 4 b row A6 5 a row A7 6 <NA> row A8 7 <NA> row A9 id_A c 1 <NA> row A8 2 <NA> row A9 id_A c 1 <NA> row A8 2 <NA> row A9 .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: na.omit(.DT, cols = "id_B")[.i, on = "id_B == id_A", data.frame(id_A, t_A, c = i.c, v_A, t_B, R.c = c, v_B), allow.cartesian = TRUE] .DT : x = DF_A (cast as data.table) .i : y = DF_B (cast as data.table) Join: setDF(na.omit(.DT, cols = "id_A")[id_A %chin% .i$id_B])[] .DT : x = DF_A (cast as data.table) .i : y = DF_B (cast as data.table) Join: setDF(.DT[!id_A %chin% .i[, na.omit(.SD), .SDcols = "id_B"]$id_B])[] .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: setDF(.DT[id_B %chin% .i[, na.omit(.SD), .SDcols = "id_A"]$id_A])[] .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: setDF(.DT[!id_B %chin% .i[, na.omit(.SD), .SDcols = "id_A"]$id_A])[] .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: .DT[, fjoin.ind := TRUE][.i[, fjoin.ind := TRUE], on = "fjoin.ind", allow.cartesian = TRUE, data.frame(id_A, t_A, c = i.c, v_A, id_B, t_B, R.c = c, v_B)] .DT : DT_A .i : DT_B Join: with(list(fjoin.temp = setDT(setDT(na.omit(.i[, fjoin.which.i := .I], cols = "id_B")[.DT[, fjoin.which.DT := .I], on = "id_B == id_A", nomatch = NULL, mult = "first", data.frame(id_A = i.id_A, t_A = i.t_A, c = i.c, v_A = i.v_A, fjoin.which.DT = i.fjoin.which.DT, fjoin.ind.DT = TRUE, fjoin.which.i)])[.i, on = "fjoin.which.i", data.frame(.join = fifelse(is.na(fjoin.ind.DT), 2L, 3L), id_A = i.id_B, t_A, c, v_A, fjoin.which.DT, t_B, i.c, v_B)])), rbind(fjoin.temp, setDT(.DT[!fjoin.temp$fjoin.which.DT, data.frame(id_A, t_A, c, v_A, fjoin.which.DT, .join = rep(1L, .N))]), fill = TRUE))[, fjoin.which.DT := NULL][] .DT : DT_A .i : DT_B Join: .DT[!.i[, na.omit(.SD), .SDcols = "id_B"][.DT[, fjoin.which.DT := .I], on = "id_B == id_A", nomatch = NULL, mult = "first", fjoin.which.DT]][, fjoin.which.DT := NULL][] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: na.omit(.DT, cols = "id")[id %in% .i$id] .DT : (unnamed) .i : (unnamed) Join: na.omit(.DT, cols = "id")[id %in% .i$id] .DT : (unnamed) .i : (unnamed) Join: .DT[!id %in% .i[, na.omit(.SD), .SDcols = "id"]$id] .DT : (unnamed) .i : (unnamed) Join: .DT[!id %in% .i[, na.omit(.SD), .SDcols = "id"]$id] .DT : (unnamed) .i : (unnamed) Join: setDT(.DT[, fjoin.ind := TRUE][.i[, fjoin.ind := TRUE], on = "fjoin.ind", allow.cartesian = TRUE, data.frame(id, col_DT, col_c, i.id = i.id, col_i, i.col_c = i.col_c)]) .DT : (unnamed) .i : (unnamed) Join: setDT(.DT[, fjoin.ind := TRUE][.i[, fjoin.ind := TRUE], on = "fjoin.ind", allow.cartesian = TRUE, data.frame(id, col_DT, col_c, i.id = i.id, col_i, i.col_c = i.col_c)]) .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "fjoin_blah")[.i, on = "fjoin_blah", data.frame(fjoin_blah, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "blah_fjoin.")[.i, on = "blah_fjoin.", data.frame(blah_fjoin., col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(.DT[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", nomatch = NULL, data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", nomatch = NULL, data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", nomatch = NULL, data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] Saving _problems/test15-SF-agr-sfc-attributes-71.R Saving _problems/test15-SF-agr-sfc-attributes-73.R Saving _problems/test15-SF-agr-sfc-attributes-97.R Saving _problems/test15-SF-agr-sfc-attributes-109.R Saving _problems/test15-SF-agr-sfc-attributes-112.R Saving _problems/test15-SF-agr-sfc-attributes-114.R Saving _problems/test15-SF-agr-sfc-attributes-147.R Saving _problems/test15-SF-agr-sfc-attributes-159.R Saving _problems/test15-SF-agr-sfc-attributes-172.R Saving _problems/test15-SF-agr-sfc-attributes-184.R [ FAIL 10 | WARN 0 | SKIP 0 | PASS 472 ] ══ Failed tests ════════════════════════════════════════════════════════════════ ── Failure ('test15-SF-agr-sfc-attributes.R:71:3'): sf no non-NA agr ─────────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "NA" "NA" "NA" `expected`: "NA" "NA" "NA" "NA" ── Failure ('test15-SF-agr-sfc-attributes.R:73:3'): sf no non-NA agr ─────────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "NA" "NA" "NA" `expected`: "NA" "NA" "NA" "NA" ── Failure ('test15-SF-agr-sfc-attributes.R:88:3'): sf with non-NA agr ───────── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: `names(actual)`: "id_A" "c" "v_A" "i.c" "v_B" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" "i.c" "v_B" "geom_active_B" `actual[3:5]`: "NA " "NA " "NA " `expected[3:7]`: "NA " "NA " "NA " "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:99:3'): sf with non-NA agr ───────── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: names(actual) | names(expected) [1] "id_A" | "id_A" [1] [2] "c" | "c" [2] [3] "v_A" | "v_A" [3] [4] "id_B" - "geom_other_A" [4] [5] "i.c" - "id_B" [5] [6] "v_B" - "i.c" [6] - "v_B" [7] - "geom_active_B" [8] `actual[4:6]`: "NA " "NA " "NA " `expected[4:8]`: "NA " "NA " "NA " "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:112:3'): sf with non-NA agr ──────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "identity " "aggregate" "NA " `expected`: "identity " "aggregate" "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:114:3'): sf with non-NA agr ──────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "identity " "aggregate" "NA " `expected`: "identity " "aggregate" "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:138:3'): sf with non-NA agr, i.class=FALSE, i.home=TRUE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: `names(actual)`: "id_B" "c" "v_B" "x.c" "v_A" `names(expected)`: "id_B" "c" "v_B" "geom_active_B" "x.c" "v_A" "geom_other_A" actual | expected [1] "NA " | "NA " [1] [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] [4] "aggregate" - "NA " [4] [5] "NA " - "aggregate" [5] - "NA " [6] - "NA " [7] ── Failure ('test15-SF-agr-sfc-attributes.R:149:3'): sf with non-NA agr, i.class=FALSE, i.home=TRUE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: names(actual) | names(expected) [1] "id_B" | "id_B" [1] [2] "c" | "c" [2] [3] "v_B" | "v_B" [3] [4] "id_A" - "geom_active_B" [4] [5] "x.c" - "id_A" [5] [6] "v_A" - "x.c" [6] - "v_A" [7] - "geom_other_A" [8] actual | expected [1] "NA " | "NA " [1] [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] [4] "identity " - "NA " [4] [5] "aggregate" - "identity " [5] [6] "NA " - "aggregate" [6] - "NA " [7] - "NA " [8] ── Failure ('test15-SF-agr-sfc-attributes.R:163:3'): sf with non-NA agr, i.class=TRUE, i.home=FALSE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: `names(actual)`: "id_A" "c" "v_A" "i.c" "v_B" `names(expected)`: "id_A" "c" "v_A" "geom_active_A" "geom_other_A" "i.c" "v_B" actual | expected [1] "NA " | "NA " [1] [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] - "NA " [4] - "NA " [5] [4] "constant" | "constant" [6] [5] "constant" | "constant" [7] ── Failure ('test15-SF-agr-sfc-attributes.R:174:3'): sf with non-NA agr, i.class=TRUE, i.home=FALSE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: names(actual) | names(expected) [1] "id_A" | "id_A" [1] [2] "c" | "c" [2] [3] "v_A" | "v_A" [3] - "geom_active_A" [4] - "geom_other_A" [5] [4] "id_B" | "id_B" [6] [5] "i.c" | "i.c" [7] [6] "v_B" | "v_B" [8] actual | expected [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] [4] "NA " | "NA " [4] [5] "constant" - "NA " [5] [6] "constant" - "NA " [6] - "constant" [7] - "constant" [8] [ FAIL 10 | WARN 0 | SKIP 0 | PASS 472 ] Error: ! Test failures. Execution halted Flavors: r-devel-windows-x86_64, r-release-windows-x86_64

Version: 0.1.0
Check: tests
Result: ERROR Running ‘testthat.R’ [13s/17s] Running the tests in ‘tests/testthat.R’ failed. Complete output: > # This file is part of the standard setup for testthat. > # It is recommended that you do not modify it. > # > # Where should you do additional test configuration? > # Learn more about the roles of various files in: > # * https://r-pkgs.org/testing-design.html#sec-tests-files-overview > # * https://testthat.r-lib.org/articles/special-files.html > > library(testthat) > library(fjoin) > > test_check("fjoin") id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 id c R.c <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 id c.x c.y <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 id c R.c <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 5: 1 row A1 <NA> 6: NA row A5 <NA> 7: NA row A6 <NA> id c.x c.y <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 5: 1 row A1 <NA> 6: NA row A5 <NA> 7: NA row A6 <NA> id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA <NA> row B1 6: NA <NA> row B2 7: 4 <NA> row B3 8: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA <NA> row B1 6: NA <NA> row B2 7: 4 <NA> row B3 8: 4 <NA> row B4 id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 9: 4 <NA> row B3 10: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 9: 4 <NA> row B3 10: 4 <NA> row B4 id c R.c <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 id c.x c.y <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> 8: NA <NA> row B1 9: NA <NA> row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> 8: NA <NA> row B1 9: NA <NA> row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c R.c <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 9: 1 row A1 <NA> 10: NA row A5 <NA> 11: NA row A6 <NA> id c.x c.y <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 9: 1 row A1 <NA> 10: NA row A5 <NA> 11: NA row A6 <NA> id c R.id R.c <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 1 row A1 NA row B2 3: 1 row A1 4 row B3 4: 1 row A1 4 row B4 5: 1 row A1 3 row B5 6: 1 row A1 3 row B6 7: 1 row A1 2 row B7 8: 2 row A2 NA row B1 9: 2 row A2 NA row B2 10: 2 row A2 4 row B3 11: 2 row A2 4 row B4 12: 2 row A2 3 row B5 13: 2 row A2 3 row B6 14: 2 row A2 2 row B7 15: 2 row A3 NA row B1 16: 2 row A3 NA row B2 17: 2 row A3 4 row B3 18: 2 row A3 4 row B4 19: 2 row A3 3 row B5 20: 2 row A3 3 row B6 21: 2 row A3 2 row B7 22: 3 row A4 NA row B1 23: 3 row A4 NA row B2 24: 3 row A4 4 row B3 25: 3 row A4 4 row B4 26: 3 row A4 3 row B5 27: 3 row A4 3 row B6 28: 3 row A4 2 row B7 29: NA row A5 NA row B1 30: NA row A5 NA row B2 31: NA row A5 4 row B3 32: NA row A5 4 row B4 33: NA row A5 3 row B5 34: NA row A5 3 row B6 35: NA row A5 2 row B7 36: NA row A6 NA row B1 37: NA row A6 NA row B2 38: NA row A6 4 row B3 39: NA row A6 4 row B4 40: NA row A6 3 row B5 41: NA row A6 3 row B6 42: NA row A6 2 row B7 id c R.id R.c <int> <char> <int> <char> id.x c.x id.y c.y <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 1 row A1 NA row B2 3: 1 row A1 4 row B3 4: 1 row A1 4 row B4 5: 1 row A1 3 row B5 6: 1 row A1 3 row B6 7: 1 row A1 2 row B7 8: 2 row A2 NA row B1 9: 2 row A2 NA row B2 10: 2 row A2 4 row B3 11: 2 row A2 4 row B4 12: 2 row A2 3 row B5 13: 2 row A2 3 row B6 14: 2 row A2 2 row B7 15: 2 row A3 NA row B1 16: 2 row A3 NA row B2 17: 2 row A3 4 row B3 18: 2 row A3 4 row B4 19: 2 row A3 3 row B5 20: 2 row A3 3 row B6 21: 2 row A3 2 row B7 22: 3 row A4 NA row B1 23: 3 row A4 NA row B2 24: 3 row A4 4 row B3 25: 3 row A4 4 row B4 26: 3 row A4 3 row B5 27: 3 row A4 3 row B6 28: 3 row A4 2 row B7 29: NA row A5 NA row B1 30: NA row A5 NA row B2 31: NA row A5 4 row B3 32: NA row A5 4 row B4 33: NA row A5 3 row B5 34: NA row A5 3 row B6 35: NA row A5 2 row B7 36: NA row A6 NA row B1 37: NA row A6 NA row B2 38: NA row A6 4 row B3 39: NA row A6 4 row B4 40: NA row A6 3 row B5 41: NA row A6 3 row B6 42: NA row A6 2 row B7 id.x c.x id.y c.y <int> <char> <int> <char> id c R.id R.c <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 2 row A2 NA row B1 3: 2 row A3 NA row B1 4: 3 row A4 NA row B1 5: NA row A5 NA row B1 6: NA row A6 NA row B1 7: 1 row A1 NA row B2 8: 2 row A2 NA row B2 9: 2 row A3 NA row B2 10: 3 row A4 NA row B2 11: NA row A5 NA row B2 12: NA row A6 NA row B2 13: 1 row A1 4 row B3 14: 2 row A2 4 row B3 15: 2 row A3 4 row B3 16: 3 row A4 4 row B3 17: NA row A5 4 row B3 18: NA row A6 4 row B3 19: 1 row A1 4 row B4 20: 2 row A2 4 row B4 21: 2 row A3 4 row B4 22: 3 row A4 4 row B4 23: NA row A5 4 row B4 24: NA row A6 4 row B4 25: 1 row A1 3 row B5 26: 2 row A2 3 row B5 27: 2 row A3 3 row B5 28: 3 row A4 3 row B5 29: NA row A5 3 row B5 30: NA row A6 3 row B5 31: 1 row A1 3 row B6 32: 2 row A2 3 row B6 33: 2 row A3 3 row B6 34: 3 row A4 3 row B6 35: NA row A5 3 row B6 36: NA row A6 3 row B6 37: 1 row A1 2 row B7 38: 2 row A2 2 row B7 39: 2 row A3 2 row B7 40: 3 row A4 2 row B7 41: NA row A5 2 row B7 42: NA row A6 2 row B7 id c R.id R.c <int> <char> <int> <char> id.x c.x id.y c.y <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 2 row A2 NA row B1 3: 2 row A3 NA row B1 4: 3 row A4 NA row B1 5: NA row A5 NA row B1 6: NA row A6 NA row B1 7: 1 row A1 NA row B2 8: 2 row A2 NA row B2 9: 2 row A3 NA row B2 10: 3 row A4 NA row B2 11: NA row A5 NA row B2 12: NA row A6 NA row B2 13: 1 row A1 4 row B3 14: 2 row A2 4 row B3 15: 2 row A3 4 row B3 16: 3 row A4 4 row B3 17: NA row A5 4 row B3 18: NA row A6 4 row B3 19: 1 row A1 4 row B4 20: 2 row A2 4 row B4 21: 2 row A3 4 row B4 22: 3 row A4 4 row B4 23: NA row A5 4 row B4 24: NA row A6 4 row B4 25: 1 row A1 3 row B5 26: 2 row A2 3 row B5 27: 2 row A3 3 row B5 28: 3 row A4 3 row B5 29: NA row A5 3 row B5 30: NA row A6 3 row B5 31: 1 row A1 3 row B6 32: 2 row A2 3 row B6 33: 2 row A3 3 row B6 34: 3 row A4 3 row B6 35: NA row A5 3 row B6 36: NA row A6 3 row B6 37: 1 row A1 2 row B7 38: 2 row A2 2 row B7 39: 2 row A3 2 row B7 40: 3 row A4 2 row B7 41: NA row A5 2 row B7 42: NA row A6 2 row B7 id.x c.x id.y c.y <int> <char> <int> <char> id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 Index: <id> id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 4: NA row A5 5: NA row A6 Index: <id> id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 4: NA row A5 5: NA row A6 id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 Index: <id> id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 4: NA row A5 NA 5: NA row A6 NA Index: <id> id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 4: NA row A5 NA 5: NA row A6 NA id c <int> <char> 1: 3 row B5 2: 3 row B6 3: 2 row B7 id c <int> <char> 1: 3 row B5 2: 3 row B6 3: 2 row B7 id c <int> <char> 1: NA row B1 2: NA row B2 3: 3 row B5 4: 3 row B6 5: 2 row B7 Index: <id> id c <int> <char> 1: NA row B1 2: NA row B2 3: 3 row B5 4: 3 row B6 5: 2 row B7 id c id2 <int> <char> <int> 1: 3 row B5 3 2: 3 row B6 3 3: 2 row B7 2 Index: <id> id c id2 <int> <char> <int> 1: 3 row B5 3 2: 3 row B6 3 3: 2 row B7 2 id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 3 row B5 3 4: 3 row B6 3 5: 2 row B7 2 Index: <id> id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 3 row B5 3 4: 3 row B6 3 5: 2 row B7 2 id c <int> <char> 1: 1 row A1 2: NA row A5 3: NA row A6 Index: <id> id c <int> <char> 1: 1 row A1 2: NA row A5 3: NA row A6 id c <int> <char> 1: 1 row A1 Index: <id> id c <int> <char> 1: 1 row A1 id c id2 <int> <char> <int> 1: 1 row A1 1 2: NA row A5 NA 3: NA row A6 NA Index: <id> id c id2 <int> <char> <int> 1: 1 row A1 1 2: NA row A5 NA 3: NA row A6 NA id c id2 <int> <char> <int> 1: 1 row A1 1 Index: <id> id c id2 <int> <char> <int> 1: 1 row A1 1 id c <int> <char> 1: NA row B1 2: NA row B2 3: 4 row B3 4: 4 row B4 Index: <id> id c <int> <char> 1: NA row B1 2: NA row B2 3: 4 row B3 4: 4 row B4 id c <int> <char> 1: 4 row B3 2: 4 row B4 Index: <id> id c <int> <char> 1: 4 row B3 2: 4 row B4 id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 4 row B3 4 4: 4 row B4 4 Index: <id> id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 4 row B3 4 4: 4 row B4 4 id c id2 <int> <char> <int> 1: 4 row B3 4 2: 4 row B4 4 Index: <id> id c id2 <int> <char> <int> 1: 4 row B3 4 2: 4 row B4 4 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 1 row A5 0 3 b 2 row A6 0 4 <NA> NA row A8 0 5 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 1 row A5 0 3 b 2 row A6 0 4 <NA> NA row A8 0 5 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 5 row A4 0 3 b 1 row A5 0 4 b 2 row A6 0 5 a 3 row A7 0 6 <NA> NA row A8 0 7 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 5 row A4 0 3 b 1 row A5 0 4 b 2 row A6 0 5 a 3 row A7 0 6 <NA> NA row A8 0 7 <NA> NA row A9 0 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A c 1 <NA> row A8 2 <NA> row A9 id_A c 1 <NA> row A8 2 <NA> row A9 id_A t_A c 1 a 1 row A2 2 b 1 row A5 3 b 2 row A6 4 <NA> NA row A8 5 <NA> NA row A9 id_A t_A c 1 a 1 row A2 2 b 1 row A5 3 b 2 row A6 4 <NA> NA row A8 5 <NA> NA row A9 id_A c 1 a row A2 2 b row A4 3 b row A5 4 b row A6 5 a row A7 6 <NA> row A8 7 <NA> row A9 id_A c 1 a row A2 2 b row A4 3 b row A5 4 b row A6 5 a row A7 6 <NA> row A8 7 <NA> row A9 id_A c 1 <NA> row A8 2 <NA> row A9 id_A c 1 <NA> row A8 2 <NA> row A9 .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: na.omit(.DT, cols = "id_B")[.i, on = "id_B == id_A", data.frame(id_A, t_A, c = i.c, v_A, t_B, R.c = c, v_B), allow.cartesian = TRUE] .DT : x = DF_A (cast as data.table) .i : y = DF_B (cast as data.table) Join: setDF(na.omit(.DT, cols = "id_A")[id_A %chin% .i$id_B])[] .DT : x = DF_A (cast as data.table) .i : y = DF_B (cast as data.table) Join: setDF(.DT[!id_A %chin% .i[, na.omit(.SD), .SDcols = "id_B"]$id_B])[] .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: setDF(.DT[id_B %chin% .i[, na.omit(.SD), .SDcols = "id_A"]$id_A])[] .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: setDF(.DT[!id_B %chin% .i[, na.omit(.SD), .SDcols = "id_A"]$id_A])[] .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: .DT[, fjoin.ind := TRUE][.i[, fjoin.ind := TRUE], on = "fjoin.ind", allow.cartesian = TRUE, data.frame(id_A, t_A, c = i.c, v_A, id_B, t_B, R.c = c, v_B)] .DT : DT_A .i : DT_B Join: with(list(fjoin.temp = setDT(setDT(na.omit(.i[, fjoin.which.i := .I], cols = "id_B")[.DT[, fjoin.which.DT := .I], on = "id_B == id_A", nomatch = NULL, mult = "first", data.frame(id_A = i.id_A, t_A = i.t_A, c = i.c, v_A = i.v_A, fjoin.which.DT = i.fjoin.which.DT, fjoin.ind.DT = TRUE, fjoin.which.i)])[.i, on = "fjoin.which.i", data.frame(.join = fifelse(is.na(fjoin.ind.DT), 2L, 3L), id_A = i.id_B, t_A, c, v_A, fjoin.which.DT, t_B, i.c, v_B)])), rbind(fjoin.temp, setDT(.DT[!fjoin.temp$fjoin.which.DT, data.frame(id_A, t_A, c, v_A, fjoin.which.DT, .join = rep(1L, .N))]), fill = TRUE))[, fjoin.which.DT := NULL][] .DT : DT_A .i : DT_B Join: .DT[!.i[, na.omit(.SD), .SDcols = "id_B"][.DT[, fjoin.which.DT := .I], on = "id_B == id_A", nomatch = NULL, mult = "first", fjoin.which.DT]][, fjoin.which.DT := NULL][] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: na.omit(.DT, cols = "id")[id %in% .i$id] .DT : (unnamed) .i : (unnamed) Join: na.omit(.DT, cols = "id")[id %in% .i$id] .DT : (unnamed) .i : (unnamed) Join: .DT[!id %in% .i[, na.omit(.SD), .SDcols = "id"]$id] .DT : (unnamed) .i : (unnamed) Join: .DT[!id %in% .i[, na.omit(.SD), .SDcols = "id"]$id] .DT : (unnamed) .i : (unnamed) Join: setDT(.DT[, fjoin.ind := TRUE][.i[, fjoin.ind := TRUE], on = "fjoin.ind", allow.cartesian = TRUE, data.frame(id, col_DT, col_c, i.id = i.id, col_i, i.col_c = i.col_c)]) .DT : (unnamed) .i : (unnamed) Join: setDT(.DT[, fjoin.ind := TRUE][.i[, fjoin.ind := TRUE], on = "fjoin.ind", allow.cartesian = TRUE, data.frame(id, col_DT, col_c, i.id = i.id, col_i, i.col_c = i.col_c)]) .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "fjoin_blah")[.i, on = "fjoin_blah", data.frame(fjoin_blah, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "blah_fjoin.")[.i, on = "blah_fjoin.", data.frame(blah_fjoin., col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(.DT[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", nomatch = NULL, data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", nomatch = NULL, data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", nomatch = NULL, data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] Saving _problems/test15-SF-agr-sfc-attributes-71.R Saving _problems/test15-SF-agr-sfc-attributes-73.R Saving _problems/test15-SF-agr-sfc-attributes-97.R Saving _problems/test15-SF-agr-sfc-attributes-109.R Saving _problems/test15-SF-agr-sfc-attributes-112.R Saving _problems/test15-SF-agr-sfc-attributes-114.R Saving _problems/test15-SF-agr-sfc-attributes-147.R Saving _problems/test15-SF-agr-sfc-attributes-159.R Saving _problems/test15-SF-agr-sfc-attributes-172.R Saving _problems/test15-SF-agr-sfc-attributes-184.R [ FAIL 10 | WARN 0 | SKIP 0 | PASS 472 ] ══ Failed tests ════════════════════════════════════════════════════════════════ ── Failure ('test15-SF-agr-sfc-attributes.R:71:3'): sf no non-NA agr ─────────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "NA" "NA" "NA" `expected`: "NA" "NA" "NA" "NA" ── Failure ('test15-SF-agr-sfc-attributes.R:73:3'): sf no non-NA agr ─────────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "NA" "NA" "NA" `expected`: "NA" "NA" "NA" "NA" ── Failure ('test15-SF-agr-sfc-attributes.R:88:3'): sf with non-NA agr ───────── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: `names(actual)`: "id_A" "c" "v_A" "i.c" "v_B" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" "i.c" "v_B" "geom_active_B" `actual[3:5]`: "NA " "NA " "NA " `expected[3:7]`: "NA " "NA " "NA " "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:99:3'): sf with non-NA agr ───────── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: names(actual) | names(expected) [1] "id_A" | "id_A" [1] [2] "c" | "c" [2] [3] "v_A" | "v_A" [3] [4] "id_B" - "geom_other_A" [4] [5] "i.c" - "id_B" [5] [6] "v_B" - "i.c" [6] - "v_B" [7] - "geom_active_B" [8] `actual[4:6]`: "NA " "NA " "NA " `expected[4:8]`: "NA " "NA " "NA " "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:112:3'): sf with non-NA agr ──────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "identity " "aggregate" "NA " `expected`: "identity " "aggregate" "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:114:3'): sf with non-NA agr ──────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "identity " "aggregate" "NA " `expected`: "identity " "aggregate" "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:138:3'): sf with non-NA agr, i.class=FALSE, i.home=TRUE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: `names(actual)`: "id_B" "c" "v_B" "x.c" "v_A" `names(expected)`: "id_B" "c" "v_B" "geom_active_B" "x.c" "v_A" "geom_other_A" actual | expected [1] "NA " | "NA " [1] [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] [4] "aggregate" - "NA " [4] [5] "NA " - "aggregate" [5] - "NA " [6] - "NA " [7] ── Failure ('test15-SF-agr-sfc-attributes.R:149:3'): sf with non-NA agr, i.class=FALSE, i.home=TRUE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: names(actual) | names(expected) [1] "id_B" | "id_B" [1] [2] "c" | "c" [2] [3] "v_B" | "v_B" [3] [4] "id_A" - "geom_active_B" [4] [5] "x.c" - "id_A" [5] [6] "v_A" - "x.c" [6] - "v_A" [7] - "geom_other_A" [8] actual | expected [1] "NA " | "NA " [1] [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] [4] "identity " - "NA " [4] [5] "aggregate" - "identity " [5] [6] "NA " - "aggregate" [6] - "NA " [7] - "NA " [8] ── Failure ('test15-SF-agr-sfc-attributes.R:163:3'): sf with non-NA agr, i.class=TRUE, i.home=FALSE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: `names(actual)`: "id_A" "c" "v_A" "i.c" "v_B" `names(expected)`: "id_A" "c" "v_A" "geom_active_A" "geom_other_A" "i.c" "v_B" actual | expected [1] "NA " | "NA " [1] [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] - "NA " [4] - "NA " [5] [4] "constant" | "constant" [6] [5] "constant" | "constant" [7] ── Failure ('test15-SF-agr-sfc-attributes.R:174:3'): sf with non-NA agr, i.class=TRUE, i.home=FALSE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: names(actual) | names(expected) [1] "id_A" | "id_A" [1] [2] "c" | "c" [2] [3] "v_A" | "v_A" [3] - "geom_active_A" [4] - "geom_other_A" [5] [4] "id_B" | "id_B" [6] [5] "i.c" | "i.c" [7] [6] "v_B" | "v_B" [8] actual | expected [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] [4] "NA " | "NA " [4] [5] "constant" - "NA " [5] [6] "constant" - "NA " [6] - "constant" [7] - "constant" [8] [ FAIL 10 | WARN 0 | SKIP 0 | PASS 472 ] Error: ! Test failures. Execution halted Flavor: r-patched-linux-x86_64

Version: 0.1.0
Check: tests
Result: ERROR Running 'testthat.R' [18s] Running the tests in 'tests/testthat.R' failed. Complete output: > # This file is part of the standard setup for testthat. > # It is recommended that you do not modify it. > # > # Where should you do additional test configuration? > # Learn more about the roles of various files in: > # * https://r-pkgs.org/testing-design.html#sec-tests-files-overview > # * https://testthat.r-lib.org/articles/special-files.html > > library(testthat) > library(fjoin) > > test_check("fjoin") id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 id c R.c <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 id c.x c.y <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 id c R.c <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 5: 1 row A1 <NA> 6: NA row A5 <NA> 7: NA row A6 <NA> id c.x c.y <int> <char> <char> 1: 3 row A4 row B5 2: 3 row A4 row B6 3: 2 row A2 row B7 4: 2 row A3 row B7 5: 1 row A1 <NA> 6: NA row A5 <NA> 7: NA row A6 <NA> id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA <NA> row B1 6: NA <NA> row B2 7: 4 <NA> row B3 8: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA <NA> row B1 6: NA <NA> row B2 7: 4 <NA> row B3 8: 4 <NA> row B4 id c R.c <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 9: 4 <NA> row B3 10: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 2 row A2 row B7 2: 2 row A3 row B7 3: 3 row A4 row B5 4: 3 row A4 row B6 5: NA row A5 row B1 6: NA row A5 row B2 7: NA row A6 row B1 8: NA row A6 row B2 9: 4 <NA> row B3 10: 4 <NA> row B4 id c R.c <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 id c.x c.y <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> 8: NA <NA> row B1 9: NA <NA> row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 <NA> 7: NA row A6 <NA> 8: NA <NA> row B1 9: NA <NA> row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c R.c <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c.x c.y <int> <char> <char> 1: 1 row A1 <NA> 2: 2 row A2 row B7 3: 2 row A3 row B7 4: 3 row A4 row B5 5: 3 row A4 row B6 6: NA row A5 row B1 7: NA row A5 row B2 8: NA row A6 row B1 9: NA row A6 row B2 10: 4 <NA> row B3 11: 4 <NA> row B4 id c R.c <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 9: 1 row A1 <NA> 10: NA row A5 <NA> 11: NA row A6 <NA> id c.x c.y <int> <char> <char> 1: NA <NA> row B1 2: NA <NA> row B2 3: 4 <NA> row B3 4: 4 <NA> row B4 5: 3 row A4 row B5 6: 3 row A4 row B6 7: 2 row A2 row B7 8: 2 row A3 row B7 9: 1 row A1 <NA> 10: NA row A5 <NA> 11: NA row A6 <NA> id c R.id R.c <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 1 row A1 NA row B2 3: 1 row A1 4 row B3 4: 1 row A1 4 row B4 5: 1 row A1 3 row B5 6: 1 row A1 3 row B6 7: 1 row A1 2 row B7 8: 2 row A2 NA row B1 9: 2 row A2 NA row B2 10: 2 row A2 4 row B3 11: 2 row A2 4 row B4 12: 2 row A2 3 row B5 13: 2 row A2 3 row B6 14: 2 row A2 2 row B7 15: 2 row A3 NA row B1 16: 2 row A3 NA row B2 17: 2 row A3 4 row B3 18: 2 row A3 4 row B4 19: 2 row A3 3 row B5 20: 2 row A3 3 row B6 21: 2 row A3 2 row B7 22: 3 row A4 NA row B1 23: 3 row A4 NA row B2 24: 3 row A4 4 row B3 25: 3 row A4 4 row B4 26: 3 row A4 3 row B5 27: 3 row A4 3 row B6 28: 3 row A4 2 row B7 29: NA row A5 NA row B1 30: NA row A5 NA row B2 31: NA row A5 4 row B3 32: NA row A5 4 row B4 33: NA row A5 3 row B5 34: NA row A5 3 row B6 35: NA row A5 2 row B7 36: NA row A6 NA row B1 37: NA row A6 NA row B2 38: NA row A6 4 row B3 39: NA row A6 4 row B4 40: NA row A6 3 row B5 41: NA row A6 3 row B6 42: NA row A6 2 row B7 id c R.id R.c <int> <char> <int> <char> id.x c.x id.y c.y <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 1 row A1 NA row B2 3: 1 row A1 4 row B3 4: 1 row A1 4 row B4 5: 1 row A1 3 row B5 6: 1 row A1 3 row B6 7: 1 row A1 2 row B7 8: 2 row A2 NA row B1 9: 2 row A2 NA row B2 10: 2 row A2 4 row B3 11: 2 row A2 4 row B4 12: 2 row A2 3 row B5 13: 2 row A2 3 row B6 14: 2 row A2 2 row B7 15: 2 row A3 NA row B1 16: 2 row A3 NA row B2 17: 2 row A3 4 row B3 18: 2 row A3 4 row B4 19: 2 row A3 3 row B5 20: 2 row A3 3 row B6 21: 2 row A3 2 row B7 22: 3 row A4 NA row B1 23: 3 row A4 NA row B2 24: 3 row A4 4 row B3 25: 3 row A4 4 row B4 26: 3 row A4 3 row B5 27: 3 row A4 3 row B6 28: 3 row A4 2 row B7 29: NA row A5 NA row B1 30: NA row A5 NA row B2 31: NA row A5 4 row B3 32: NA row A5 4 row B4 33: NA row A5 3 row B5 34: NA row A5 3 row B6 35: NA row A5 2 row B7 36: NA row A6 NA row B1 37: NA row A6 NA row B2 38: NA row A6 4 row B3 39: NA row A6 4 row B4 40: NA row A6 3 row B5 41: NA row A6 3 row B6 42: NA row A6 2 row B7 id.x c.x id.y c.y <int> <char> <int> <char> id c R.id R.c <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 2 row A2 NA row B1 3: 2 row A3 NA row B1 4: 3 row A4 NA row B1 5: NA row A5 NA row B1 6: NA row A6 NA row B1 7: 1 row A1 NA row B2 8: 2 row A2 NA row B2 9: 2 row A3 NA row B2 10: 3 row A4 NA row B2 11: NA row A5 NA row B2 12: NA row A6 NA row B2 13: 1 row A1 4 row B3 14: 2 row A2 4 row B3 15: 2 row A3 4 row B3 16: 3 row A4 4 row B3 17: NA row A5 4 row B3 18: NA row A6 4 row B3 19: 1 row A1 4 row B4 20: 2 row A2 4 row B4 21: 2 row A3 4 row B4 22: 3 row A4 4 row B4 23: NA row A5 4 row B4 24: NA row A6 4 row B4 25: 1 row A1 3 row B5 26: 2 row A2 3 row B5 27: 2 row A3 3 row B5 28: 3 row A4 3 row B5 29: NA row A5 3 row B5 30: NA row A6 3 row B5 31: 1 row A1 3 row B6 32: 2 row A2 3 row B6 33: 2 row A3 3 row B6 34: 3 row A4 3 row B6 35: NA row A5 3 row B6 36: NA row A6 3 row B6 37: 1 row A1 2 row B7 38: 2 row A2 2 row B7 39: 2 row A3 2 row B7 40: 3 row A4 2 row B7 41: NA row A5 2 row B7 42: NA row A6 2 row B7 id c R.id R.c <int> <char> <int> <char> id.x c.x id.y c.y <int> <char> <int> <char> 1: 1 row A1 NA row B1 2: 2 row A2 NA row B1 3: 2 row A3 NA row B1 4: 3 row A4 NA row B1 5: NA row A5 NA row B1 6: NA row A6 NA row B1 7: 1 row A1 NA row B2 8: 2 row A2 NA row B2 9: 2 row A3 NA row B2 10: 3 row A4 NA row B2 11: NA row A5 NA row B2 12: NA row A6 NA row B2 13: 1 row A1 4 row B3 14: 2 row A2 4 row B3 15: 2 row A3 4 row B3 16: 3 row A4 4 row B3 17: NA row A5 4 row B3 18: NA row A6 4 row B3 19: 1 row A1 4 row B4 20: 2 row A2 4 row B4 21: 2 row A3 4 row B4 22: 3 row A4 4 row B4 23: NA row A5 4 row B4 24: NA row A6 4 row B4 25: 1 row A1 3 row B5 26: 2 row A2 3 row B5 27: 2 row A3 3 row B5 28: 3 row A4 3 row B5 29: NA row A5 3 row B5 30: NA row A6 3 row B5 31: 1 row A1 3 row B6 32: 2 row A2 3 row B6 33: 2 row A3 3 row B6 34: 3 row A4 3 row B6 35: NA row A5 3 row B6 36: NA row A6 3 row B6 37: 1 row A1 2 row B7 38: 2 row A2 2 row B7 39: 2 row A3 2 row B7 40: 3 row A4 2 row B7 41: NA row A5 2 row B7 42: NA row A6 2 row B7 id.x c.x id.y c.y <int> <char> <int> <char> id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 Index: <id> id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 4: NA row A5 5: NA row A6 Index: <id> id c <int> <char> 1: 2 row A2 2: 2 row A3 3: 3 row A4 4: NA row A5 5: NA row A6 id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 Index: <id> id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 4: NA row A5 NA 5: NA row A6 NA Index: <id> id c id2 <int> <char> <int> 1: 2 row A2 2 2: 2 row A3 2 3: 3 row A4 3 4: NA row A5 NA 5: NA row A6 NA id c <int> <char> 1: 3 row B5 2: 3 row B6 3: 2 row B7 id c <int> <char> 1: 3 row B5 2: 3 row B6 3: 2 row B7 id c <int> <char> 1: NA row B1 2: NA row B2 3: 3 row B5 4: 3 row B6 5: 2 row B7 Index: <id> id c <int> <char> 1: NA row B1 2: NA row B2 3: 3 row B5 4: 3 row B6 5: 2 row B7 id c id2 <int> <char> <int> 1: 3 row B5 3 2: 3 row B6 3 3: 2 row B7 2 Index: <id> id c id2 <int> <char> <int> 1: 3 row B5 3 2: 3 row B6 3 3: 2 row B7 2 id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 3 row B5 3 4: 3 row B6 3 5: 2 row B7 2 Index: <id> id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 3 row B5 3 4: 3 row B6 3 5: 2 row B7 2 id c <int> <char> 1: 1 row A1 2: NA row A5 3: NA row A6 Index: <id> id c <int> <char> 1: 1 row A1 2: NA row A5 3: NA row A6 id c <int> <char> 1: 1 row A1 Index: <id> id c <int> <char> 1: 1 row A1 id c id2 <int> <char> <int> 1: 1 row A1 1 2: NA row A5 NA 3: NA row A6 NA Index: <id> id c id2 <int> <char> <int> 1: 1 row A1 1 2: NA row A5 NA 3: NA row A6 NA id c id2 <int> <char> <int> 1: 1 row A1 1 Index: <id> id c id2 <int> <char> <int> 1: 1 row A1 1 id c <int> <char> 1: NA row B1 2: NA row B2 3: 4 row B3 4: 4 row B4 Index: <id> id c <int> <char> 1: NA row B1 2: NA row B2 3: 4 row B3 4: 4 row B4 id c <int> <char> 1: 4 row B3 2: 4 row B4 Index: <id> id c <int> <char> 1: 4 row B3 2: 4 row B4 id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 4 row B3 4 4: 4 row B4 4 Index: <id> id c id2 <int> <char> <int> 1: NA row B1 NA 2: NA row B2 NA 3: 4 row B3 4 4: 4 row B4 4 id c id2 <int> <char> <int> 1: 4 row B3 4 2: 4 row B4 4 Index: <id> id c id2 <int> <char> <int> 1: 4 row B3 4 2: 4 row B4 4 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 1 row A5 0 3 b 2 row A6 0 4 <NA> NA row A8 0 5 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 1 row A5 0 3 b 2 row A6 0 4 <NA> NA row A8 0 5 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 5 row A4 0 3 b 1 row A5 0 4 b 2 row A6 0 5 a 3 row A7 0 6 <NA> NA row A8 0 7 <NA> NA row A9 0 id_A t_A c v_A 1 a 1 row A2 0 2 b 5 row A4 0 3 b 1 row A5 0 4 b 2 row A6 0 5 a 3 row A7 0 6 <NA> NA row A8 0 7 <NA> NA row A9 0 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A t_A c v_A 1 <NA> NA row A8 0 2 <NA> NA row A9 0 id_A c 1 <NA> row A8 2 <NA> row A9 id_A c 1 <NA> row A8 2 <NA> row A9 id_A t_A c 1 a 1 row A2 2 b 1 row A5 3 b 2 row A6 4 <NA> NA row A8 5 <NA> NA row A9 id_A t_A c 1 a 1 row A2 2 b 1 row A5 3 b 2 row A6 4 <NA> NA row A8 5 <NA> NA row A9 id_A c 1 a row A2 2 b row A4 3 b row A5 4 b row A6 5 a row A7 6 <NA> row A8 7 <NA> row A9 id_A c 1 a row A2 2 b row A4 3 b row A5 4 b row A6 5 a row A7 6 <NA> row A8 7 <NA> row A9 id_A c 1 <NA> row A8 2 <NA> row A9 id_A c 1 <NA> row A8 2 <NA> row A9 .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: na.omit(.DT, cols = "id_B")[.i, on = "id_B == id_A", data.frame(id_A, t_A, c = i.c, v_A, t_B, R.c = c, v_B), allow.cartesian = TRUE] .DT : x = DF_A (cast as data.table) .i : y = DF_B (cast as data.table) Join: setDF(na.omit(.DT, cols = "id_A")[id_A %chin% .i$id_B])[] .DT : x = DF_A (cast as data.table) .i : y = DF_B (cast as data.table) Join: setDF(.DT[!id_A %chin% .i[, na.omit(.SD), .SDcols = "id_B"]$id_B])[] .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: setDF(.DT[id_B %chin% .i[, na.omit(.SD), .SDcols = "id_A"]$id_A])[] .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: setDF(.DT[!id_B %chin% .i[, na.omit(.SD), .SDcols = "id_A"]$id_A])[] .DT : y = DF_B (cast as data.table) .i : x = DF_A (cast as data.table) Join: .DT[, fjoin.ind := TRUE][.i[, fjoin.ind := TRUE], on = "fjoin.ind", allow.cartesian = TRUE, data.frame(id_A, t_A, c = i.c, v_A, id_B, t_B, R.c = c, v_B)] .DT : DT_A .i : DT_B Join: with(list(fjoin.temp = setDT(setDT(na.omit(.i[, fjoin.which.i := .I], cols = "id_B")[.DT[, fjoin.which.DT := .I], on = "id_B == id_A", nomatch = NULL, mult = "first", data.frame(id_A = i.id_A, t_A = i.t_A, c = i.c, v_A = i.v_A, fjoin.which.DT = i.fjoin.which.DT, fjoin.ind.DT = TRUE, fjoin.which.i)])[.i, on = "fjoin.which.i", data.frame(.join = fifelse(is.na(fjoin.ind.DT), 2L, 3L), id_A = i.id_B, t_A, c, v_A, fjoin.which.DT, t_B, i.c, v_B)])), rbind(fjoin.temp, setDT(.DT[!fjoin.temp$fjoin.which.DT, data.frame(id_A, t_A, c, v_A, fjoin.which.DT, .join = rep(1L, .N))]), fill = TRUE))[, fjoin.which.DT := NULL][] .DT : DT_A .i : DT_B Join: .DT[!.i[, na.omit(.SD), .SDcols = "id_B"][.DT[, fjoin.which.DT := .I], on = "id_B == id_A", nomatch = NULL, mult = "first", fjoin.which.DT]][, fjoin.which.DT := NULL][] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: na.omit(.DT, cols = "id")[id %in% .i$id] .DT : (unnamed) .i : (unnamed) Join: na.omit(.DT, cols = "id")[id %in% .i$id] .DT : (unnamed) .i : (unnamed) Join: .DT[!id %in% .i[, na.omit(.SD), .SDcols = "id"]$id] .DT : (unnamed) .i : (unnamed) Join: .DT[!id %in% .i[, na.omit(.SD), .SDcols = "id"]$id] .DT : (unnamed) .i : (unnamed) Join: setDT(.DT[, fjoin.ind := TRUE][.i[, fjoin.ind := TRUE], on = "fjoin.ind", allow.cartesian = TRUE, data.frame(id, col_DT, col_c, i.id = i.id, col_i, i.col_c = i.col_c)]) .DT : (unnamed) .i : (unnamed) Join: setDT(.DT[, fjoin.ind := TRUE][.i[, fjoin.ind := TRUE], on = "fjoin.ind", allow.cartesian = TRUE, data.frame(id, col_DT, col_c, i.id = i.id, col_i, i.col_c = i.col_c)]) .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "fjoin_blah")[.i, on = "fjoin_blah", data.frame(fjoin_blah, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "blah_fjoin.")[.i, on = "blah_fjoin.", data.frame(blah_fjoin., col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(.DT[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", nomatch = NULL, data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", nomatch = NULL, data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] .DT : (unnamed) .i : (unnamed) Join: setDT(na.omit(.DT, cols = "id")[.i, on = "id", nomatch = NULL, data.frame(id, col_DT, col_c, col_i, i.col_c), allow.cartesian = TRUE])[] Saving _problems/test15-SF-agr-sfc-attributes-71.R Saving _problems/test15-SF-agr-sfc-attributes-73.R Saving _problems/test15-SF-agr-sfc-attributes-97.R Saving _problems/test15-SF-agr-sfc-attributes-109.R Saving _problems/test15-SF-agr-sfc-attributes-112.R Saving _problems/test15-SF-agr-sfc-attributes-114.R Saving _problems/test15-SF-agr-sfc-attributes-147.R Saving _problems/test15-SF-agr-sfc-attributes-159.R Saving _problems/test15-SF-agr-sfc-attributes-172.R Saving _problems/test15-SF-agr-sfc-attributes-184.R [ FAIL 10 | WARN 0 | SKIP 0 | PASS 472 ] ══ Failed tests ════════════════════════════════════════════════════════════════ ── Failure ('test15-SF-agr-sfc-attributes.R:71:3'): sf no non-NA agr ─────────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "NA" "NA" "NA" `expected`: "NA" "NA" "NA" "NA" ── Failure ('test15-SF-agr-sfc-attributes.R:73:3'): sf no non-NA agr ─────────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "NA" "NA" "NA" `expected`: "NA" "NA" "NA" "NA" ── Failure ('test15-SF-agr-sfc-attributes.R:88:3'): sf with non-NA agr ───────── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: `names(actual)`: "id_A" "c" "v_A" "i.c" "v_B" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" "i.c" "v_B" "geom_active_B" `actual[3:5]`: "NA " "NA " "NA " `expected[3:7]`: "NA " "NA " "NA " "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:99:3'): sf with non-NA agr ───────── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: names(actual) | names(expected) [1] "id_A" | "id_A" [1] [2] "c" | "c" [2] [3] "v_A" | "v_A" [3] [4] "id_B" - "geom_other_A" [4] [5] "i.c" - "id_B" [5] [6] "v_B" - "i.c" [6] - "v_B" [7] - "geom_active_B" [8] `actual[4:6]`: "NA " "NA " "NA " `expected[4:8]`: "NA " "NA " "NA " "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:112:3'): sf with non-NA agr ──────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "identity " "aggregate" "NA " `expected`: "identity " "aggregate" "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:114:3'): sf with non-NA agr ──────── Expected `sf::st_agr(result)` to be identical to `expected`. Differences: `names(actual)`: "id_A" "c" "v_A" `names(expected)`: "id_A" "c" "v_A" "geom_other_A" `actual`: "identity " "aggregate" "NA " `expected`: "identity " "aggregate" "NA " "NA " ── Failure ('test15-SF-agr-sfc-attributes.R:138:3'): sf with non-NA agr, i.class=FALSE, i.home=TRUE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: `names(actual)`: "id_B" "c" "v_B" "x.c" "v_A" `names(expected)`: "id_B" "c" "v_B" "geom_active_B" "x.c" "v_A" "geom_other_A" actual | expected [1] "NA " | "NA " [1] [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] [4] "aggregate" - "NA " [4] [5] "NA " - "aggregate" [5] - "NA " [6] - "NA " [7] ── Failure ('test15-SF-agr-sfc-attributes.R:149:3'): sf with non-NA agr, i.class=FALSE, i.home=TRUE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: names(actual) | names(expected) [1] "id_B" | "id_B" [1] [2] "c" | "c" [2] [3] "v_B" | "v_B" [3] [4] "id_A" - "geom_active_B" [4] [5] "x.c" - "id_A" [5] [6] "v_A" - "x.c" [6] - "v_A" [7] - "geom_other_A" [8] actual | expected [1] "NA " | "NA " [1] [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] [4] "identity " - "NA " [4] [5] "aggregate" - "identity " [5] [6] "NA " - "aggregate" [6] - "NA " [7] - "NA " [8] ── Failure ('test15-SF-agr-sfc-attributes.R:163:3'): sf with non-NA agr, i.class=TRUE, i.home=FALSE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: `names(actual)`: "id_A" "c" "v_A" "i.c" "v_B" `names(expected)`: "id_A" "c" "v_A" "geom_active_A" "geom_other_A" "i.c" "v_B" actual | expected [1] "NA " | "NA " [1] [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] - "NA " [4] - "NA " [5] [4] "constant" | "constant" [6] [5] "constant" | "constant" [7] ── Failure ('test15-SF-agr-sfc-attributes.R:174:3'): sf with non-NA agr, i.class=TRUE, i.home=FALSE ── Expected `sf::st_agr(result)` to be identical to `as_agr(...)`. Differences: names(actual) | names(expected) [1] "id_A" | "id_A" [1] [2] "c" | "c" [2] [3] "v_A" | "v_A" [3] - "geom_active_A" [4] - "geom_other_A" [5] [4] "id_B" | "id_B" [6] [5] "i.c" | "i.c" [7] [6] "v_B" | "v_B" [8] actual | expected [2] "NA " | "NA " [2] [3] "NA " | "NA " [3] [4] "NA " | "NA " [4] [5] "constant" - "NA " [5] [6] "constant" - "NA " [6] - "constant" [7] - "constant" [8] [ FAIL 10 | WARN 0 | SKIP 0 | PASS 472 ] Error: ! Test failures. Execution halted Flavor: r-oldrel-windows-x86_64

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.