Я задавал подобный вопрос раньше ( Ссылка ). Данный ответ работает отлично. Однако, оказывается, что это не полностью применимо к моему варианту использования.
Пожалуйста, рассмотрите следующий минимальный рабочий пример:
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 я не могу заставить ее работать так. Тем не менее, это именно то, что мне нужно.
Может кто-нибудь помочь?