мульти Boxplot в R - PullRequest
       16

мульти Boxplot в R

0 голосов
/ 12 апреля 2020

Как я могу сделать многоплановое поле в R с высотой баскетболиста, разделенной на позицию (G, F, C) за десятилетие. Мой набор данных называется игроком так:

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)

моя идея это как

enter image description here

помогите мне, пожалуйста

1 Ответ

0 голосов
/ 12 апреля 2020

Ваш воспроизводимый пример немного слишком короткий, поэтому я сделал один, позволяющий иметь каждую группу на каждые десятилетия

Итак, если вы хотите представить блок-график роста игроков за десятилетие, вам нужно сначала приписать десятилетие каждому игроку.

Вы можете сделать это, например, округлив начальный год до минимального значения, выполнив:

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

enter image description here

Отвечает ли он на ваш вопрос?

...