I find a strange bug when using long strings and logical variables. The example may not be minimal but I also demonstrate several simplifications for which the function works.
library(tidyverse)
# Bug
crossing(
tribble(~a, ~b,
"a", TRUE,
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", TRUE),
tribble(~c, ~d,
"a", TRUE,
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", TRUE)
)
#> Error: Column name `tribble(...)` must not be duplicated.
# Bug
crossing(
tibble(a = c("a", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"),
b = c(TRUE, TRUE)),
tibble(c = c("a", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"),
d = c(TRUE, TRUE))
)
#> Error: Column name `tibble(...)` must not be duplicated.
# Works removing one "a"
crossing(
tribble(~a, ~b,
"a", TRUE,
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", TRUE),
tribble(~c, ~d,
"a", TRUE,
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaa", TRUE)
)
#> # A tibble: 4 x 4
#> a b c d
#> <chr> <lgl> <chr> <lgl>
#> 1 a TRUE a TRUE
#> 2 a TRUE aaaaaaaaaaaaaaaaaaaaaaaaaaaaa TRUE
#> 3 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa TRUE a TRUE
#> 4 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa TRUE aaaaaaaaaaaaaaaaaaaaaaaaaaaaa TRUE
# Works if one of the logical columns is character
crossing(
tribble(~a, ~b,
"a", TRUE,
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", TRUE),
tribble(~c, ~d,
"a", "a",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "a")
)
#> # A tibble: 4 x 4
#> a b c d
#> <chr> <lgl> <chr> <chr>
#> 1 a TRUE a a
#> 2 a TRUE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa a
#> 3 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa TRUE a a
#> 4 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa TRUE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa a
# works if one is tibble and the other tribble
crossing(
tibble(a = c("a", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"),
b = c(TRUE, TRUE)),
tribble(~c, ~d,
"a", TRUE,
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", TRUE)
)
#> # A tibble: 4 x 4
#> a b c d
#> <chr> <lgl> <chr> <lgl>
#> 1 a TRUE a TRUE
#> 2 a TRUE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa TRUE
#> 3 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa TRUE a TRUE
#> 4 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa TRUE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa TRUE
Created on 2020-09-04 by the reprex package (v0.3.0)
I find a strange bug when using long strings and logical variables. The example may not be minimal but I also demonstrate several simplifications for which the function works.
Created on 2020-09-04 by the reprex package (v0.3.0)