Укажите вложенные столбцы, используя символьный вектор в tidyr :: complete - PullRequest
0 голосов
/ 02 апреля 2020

Как определить столбцы, которые я хочу использовать для вложения в функцию tidyr :: complete?

one_of или as.name не работают.

library(dplyr, warn.conflicts = FALSE)
df <- tibble(
  group = c(1:2, 1),
  item_id = c(1:2, 2),
  item_name = c("a", "b", "b"),
  value1 = 1:3,
  value2 = 4:6
)
char_vec <- c("item_id", "item_name")
df %>% complete(group, nesting(char_vec))

Error: `by` can't contain join column `char_vec` which is missing from RHS
Run `rlang::last_error()` to see where the error occurred.

1 Ответ

0 голосов
/ 02 апреля 2020

Хорошо, я понял это.

library(dplyr, warn.conflicts = FALSE)
df <- tibble(
  group = c(1:2, 1),
  item_id = c(1:2, 2),
  item_name = c("a", "b", "b"),
  value1 = 1:3,
  value2 = 4:6
)
char_vec <- c("item_id", "item_name")
df %>% complete(group, nesting(!!as.symbol(char_vec)))
...