Функция для замены условия группировки в R - PullRequest
1 голос
/ 26 мая 2020

enter image description here

Как показывает pi c, я хочу определить переменную groupTerm, чтобы, когда я группирую, я могу группировать по моему фрейму данных, но я определите groupTerm (т.е.

groupTerm <- "month" ----> df %>% group_by (month);

groupTerm <- "date" ----> df %>% group_by (date).

Однако, похоже, в предложении group_by термин groupTerm должен быть фактическим именем столбца во фрейме данных, что дает мне epi c сбой.

Может кто-нибудь подскажет, как решить эту проблему?

Спасибо!

Ответы [ 2 ]

1 голос
/ 26 мая 2020

Мы также можем использовать ensym с !!, которое может принимать как кавычки, так и значения без кавычек

 func <- function(groupTerm, print = TRUE) {
            df %>% 
                 group_by(!! ensym(groupTerm)) %>%
                 summarise(min_date = min(date))
  }
0 голосов
/ 26 мая 2020

Благодаря идее Фила я решил этот вопрос.

Имея

func <-
function(groupTerm, print = TRUE){
  f_df <-
  df %>% 
    group_by({groupTerm})

, я назначил groupTerm <- df$month вместо groupTerm <- 'month'

...