У меня есть две функции, которые оценивают аргументы эллипсов как имена столбцов. Эти функции (sub_fun_1 и sub_fun_2) используют имена этих столбцов для группировки введенных фреймов данных.
main_fun <- function(df1, df2, ...) {
columns <- enquos(...) ### '...' arguments used to specify columns in data-sets
df1_grouped <- sub_fun_1(df1, columns) ### Evaluates 'columns' and groups df1 by column names
df2_grouped <- sub_fun_2(df2, columns) ### Evaluates 'columns' and groups df2 by column names
}
sub_fun_1 <- function(df1, columns) {
df1_grouped <- df1 %>%
group_by(!!! columns)
}
sub_fun_2 <- function(df2, columns) {
df2_grouped <- df2 %>%
group_by(!!! columns)
}
Однако я не могу использовать одинаковые имена столбцов для обоих наборов данных, так как это может привести к ошибке, т.е. оба набора данных должны быть сгруппированы по уникальным для них именам столбцов.
Есть ли способ указать, какие аргументы эллипсов соответствуют какой функции / фрейму данных? Или, может быть, использовать два уникальных набора аргументов эллипсов?
Я нашел несколько похожих страниц вопросов / ответов, но все еще запутался в topi c и о том, как наилучшим образом реализовать решение моей конкретной проблемы.