R中按组绘制的带状图

stripchart by groups in R

我仍然是 R 的新手,想寻求有关绘制带状图的帮助。

stripchart(Study_intensive$AGE, method="stack",
at=c(0.05), pch=20, cex=2, xaxt="n", frame.plot=F, main= "Age Range in weight group(yr)")
axis(1, at=seq(0, 75, by=5) , labels= seq(0, 75, by=5),  
cex.axis=0.75)

这是我目前的代码,我正在尝试将其按另一个名为 "weightclass" 的列进行分组;基本上为每个重量级使用另一种颜色。 "weightclass" 有 4 个值:分别为 1、2、3、4。有什么我可以轻松做到的吗?

感谢您的帮助!

这是一个使用 mtcars 的例子:

library(RColorBrewer)
testColor=brewer.pal(6, 'RdBu')
stripchart(mtcars$mpg~mtcars$gear, col=testColor, method="stack", pch=20, cex=2, xaxt="n", frame.plot=F, main= "Age Range in weight group(yr)")
axis(1, at=seq(0, 75, by=5) , labels= seq(0, 75, by=5), cex.axis=0.75)

EDIT-1

使用 ggplot 有一些方法可以将您要求的所有内容集中在一个条带中并按组着色:

library(ggplot2)
library(RColorBrewer)
testColor=brewer.pal(6, 'RdBu')
mtcars$color=testColor[mtcars$gear] #to get the colors your after
mtcars$strip=1 #to get them into a single strip
ggplot(mtcars, aes(x=strip, y=mpg, color=color)) +
  geom_jitter(position=position_jitter(0.2)) + xlim(0, 2)