Ваш воспроизводимый пример немного слишком короткий, поэтому я сделал один, позволяющий иметь каждую группу на каждые десятилетия
Итак, если вы хотите представить блок-график роста игроков за десятилетие, вам нужно сначала приписать десятилетие каждому игроку.
Вы можете сделать это, например, округлив начальный год до минимального значения, выполнив:
player <- data.frame(name = LETTERS[1:20],
year_start = c(sample(1970:1979,10, replace= TRUE),
sample(1980:1989,10,replace = TRUE)),
height = sample(180:220,20, replace= TRUE),
position = sample(c("P","G","C"),20, replace = TRUE))
player$decade = floor(player$year_start %/% 10) * 10
Теперь вы можете использовать его для создания своего боксплота следующим образом:
library(ggplot2)
ggplot(player, aes(x = as.factor(decade), y = height, fill = position))+
geom_boxplot()
Отвечает ли он на ваш вопрос?