Ниже приведен фрейм данных и код, который я хотел бы выполнить. Как показано ниже, я хотел бы указать group_by 'x', а также 'color'. «x» - это строка, и поэтому я использовал функцию «group_by_at».
df = data.frame(color = c("Yellow", "Blue", "Green", "Red", "Magenta"),
values = c(24, 24, 34, 45, 49),
Quarter = c("Period1","Period2" , "Period3", "Period3", "Period1"),
Market = c("Camden", "StreetA", "DansFireplace", "StreetA", "DansFireplace"))
list = c("Market", "Quarter")
df_all <- do.call(rbind, lapply(list, function(x){
df_l= df %>% group_by_at(x) %>% group_by(color) %>%
summarise(values = sum(values)) %>%
mutate(cut= x) %>%
data.frame()
colnames(df_l)[colnames(df_l)==x] <- "Grouping"
df_l
}))
Проблема в том, что во время выполнения этого кода он не группируется по 'x'. Только когда я удаляю 'group_by (color)', он группируется по 'x'.
Моя цель - сгруппировать по 'x' и 'color'.