R 中的多箱线图

multi Boxplot in R

我如何在 R 中用篮球运动员的身高除以位置 (G, F, C) 十年来绘制多箱线图 我的名为 player 的数据集是这样的:

name = c("Kareem", "MJ", "Lebron")
year_start=c(1970, 1985, 2003)
year_end=c(1989, 2003, 2018)
position=c("C", "G", "F")
height=(219, 198, 203)
player<-data.frame(name, year_start, year_end, position, height)

我的想法是这样的

请帮帮我

您的可重现示例有点太短,所以我制作了一个允许每十年有一个组的示例

因此,如果您想表示每十年球员身高的箱线图,您首先需要将十年归因于每个球员。

例如,您可以通过以下方式将起始年份四舍五入到最后十年:

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()

它是否回答了您的问题?