Хорошо, это один из тех дней, когда ранее работающий кусок кода внезапно ломается. Вот пример кода, о котором идет речь:
test = data.frame(factor1 = sample(1:5, 10, replace=T),
factor2 = sample(letters[1:5], 10, replace=T),
variable = sample(100:200, 10))
group_vars = c('factor1','factor2') %>% paste(., collapse = ',')
> test %>% dplyr::group_by_(group_vars)
Error in parse(text = x) : <text>:1:8: unexpected ','
1: factor1,
^
Теперь я до сих пор это работало до сегодняшнего дня. Конечно, dplyr все равно пытается покончить с функциями 'x_', но я попытался включить все, что я могу придумать, в group_by () - используя комбинации !!, !!!, sym (), quo () , enquo (), et c и не могу понять. Я пытался не вставлять имена столбцов вместе, и НА ЛУЧШЕМ он просто берет первый и игнорирует все остальное. Чаще всего я получаю следующее сообщение об ошибке:
Ошибка: столбец <chr>
должен иметь длину 10 (количество строк) или единицу, а не 2
I ' Мы также прочитали руководство по программированию Хадли на dplyr (https://dplyr.tidyverse.org/articles/programming.html), КОТОРОЕ ПОЯВЛЯЕТСЯ для решения этой проблемы, за исключением того, что я генерирую имена столбцов внутри себя и не принимаю их в качестве аргументов функции. Кто-нибудь сталкивался с этим или понимал цитирование достаточно хорошо, чтобы знать решение этого вопроса?
Кроме того, чтобы было ясно, это работает, когда используется только одна группирующая переменная. Проблема с несколькими группами.
Спасибо!