Я пытался понять, что именно возвращает group_by. Я считаю, что это должен быть вектор для каждой существующей уникальной комбинации group_by. Рассмотрим следующее:
data<-data.frame(Names = c("odyssey", "camry", "odyssey", "camry"), year = c(1990, 1990, 1992, 1994), sales = c(200, 400, 1000, 4000))
Если мы попросим процент продаж, как указано ниже, мы увидим в 1990 году, что продажи (слева) равны 200 в первой строке, а продажи (в сумме), должно быть c (200, 400)! Продажи во втором ряду были определены как 400, а затем c (200, 400).
data %>% group_by(year) %>% mutate(percent_sales = 100*sales/sum(sales)) %>% select(percent_sales)
Пытаясь взломать его, я вижу, что продажи определяются как это в 1990 году: цифра c , double, длина 2 1992: цифра c, double, длина 1 1994: цифра c, double, длина 1
Так что это должен быть вектор ... но почему он возвращает только одно значение для продаж при запросе 100 * продаж, но вернуть полный вектор для суммы (продаж)?
Спасибо!