Раньше я задавал аналогичный вопрос (Ссылка). Данный ответ работает нормально. Однако оказалось, что это не полностью применимо к моему варианту использования.
Пожалуйста, рассмотрите следующий минимальный рабочий пример:
library(RSQLite)
library(dplyr)
library(dbplyr)
library(DBI)
library(stringr)
con <- DBI::dbConnect(RSQLite::SQLite(), path = ":memory:")
copy_to(con, mtcars, "mtcars", temporary = FALSE)
db <- tbl(con, "mtcars") %>%
select(carb) %>%
distinct(carb) %>%
arrange(carb) %>%
mutate(Q1=1, Q2=2, Q3=3, Q4=4) %>%
collect()
Меня интересует динамическое построение строки Q1=1, Q2=2, Q3=3, Q4=4
так, чтобы она могла быть Q1=1, Q2=2, ..., Qn = n
.
Одна из моих идей - построить такую строку:
n_par <- 4
str_c('Q', 1:n_par, ' = ', 1:n_par, collapse = ', ')
таким образом, что n_par может быть любым положительным числом. Однако из-за нестандартной оценки dplyr я не могу заставить его так работать. Однако это именно то, что мне нужно.
Кто-нибудь может помочь?