Я не думаю, что вам нужно select
явно, когда вы подводите итоги. Поскольку у вас есть разница только в группировке переменных для разных наборов данных, почему бы не создать функцию.
library(dplyr)
summarising_fun <- function(df, groupingVariable) {
df %>%
group_by_at(groupingVariable) %>%
summarize(
metric1 = ...,
metric2 = ...,
metric3 = ...,
...,
metricn = ...
)
}
Затем вы можете вызвать функцию для различных наборов данных, используя
summarising_fun(dataset1, "groupingVariable1")
summarising_fun(dataset2, "groupingVariable2")
summarising_fun(dataset3, "groupingVariable3")
Если вы хотите передать переменную группировки как переменную без кавычек, попробуйте использовать оператор curly-curly, который будет измените код на
summarising_fun <- function(df, groupingVariable1) {
df %>%
group_by({{groupingVariable1}}) %>%
summarize(
metric1 = ...,
metric2 = ...,
metricn = ...
)
}
и может называться
summarising_fun(dataset1, groupingVariable1)
summarising_fun(dataset2, groupingVariable2)
summarising_fun(dataset3, groupingVariable3)