How to plot a bloxplot in R with subsets

2019-07-27 11:12发布

问题:

My data set "olympics" has 4 columns: case number, height, sport, and sex (female=F, male=M), and each row corresponds to an athlete.

I need to produce a box plot comparing the height distributions among the male basketball players and male football players. (Both sports on a single plot, but with no others.)

I have tried

boxplot(olympics$height[olympics$sex == "M" & olympics$sport %in% c("basketball", "football")])

but I keep getting errors saying that finite ylim values are needed. How would you get the correct boxplot?

回答1:

Going to rewrite this since I found your data set and figured out what your issue was. You have a ton of typos. R is case sensitive. Run this code and it will produce the boxplots that you want.

library(VGAMdata)
data(oly12)

dat = oly12

dat = dat[dat$Sport %in% c("Basketball","Football"),]
dat$Sport = droplevels(dat$Sport)
dat = dat[dat$Sex == "M",]
boxplot(dat$Height ~ dat$Sport)



标签: r subset boxplot