我以这个数据框为例:
>mydata <- rbind(data.frame(Col1 = rnorm(2*1000),Col2 =rep(c("A", "C"), each=1000),Col3=factor(rep(c("YY","NN"), 1000))),data.frame(Col1 = rnorm(1000),Col2 =rep(c("B")),Col3=factor(rep(c("YY","YN"), 500))))
看起来像:
>head(mydata)
Col1 Col2 Col3
1 -0.1213684 A YY
2 0.1846364 A NN
3 0.4028003 A YY
4 1.4065677 A NN
5 -0.8669333 A YY
6 0.3295806 A NN
为具有 3 个水平的因子类型的 Col3:NN YY YN
我想使用 lattice bwplot 制作箱线图,并为每个级别分配特定颜色:
# NN:
red=rgb(249/255, 21/255, 47/255)
# YN:
amber=rgb(255/255, 126/255, 0/255)
# YY:
green=rgb(39/255, 232/255, 51/255)
使用 bwplot 函数:
pl<-bwplot(mydata$Col1~mydata$Col3 | mydata$Col2,data=mydata,
ylab=expression(italic(R)),panel=function(...)
{panel.bwplot(...,groups=mydata$Col3, fill=c(red,amber,green))})
结果如下图:
显然颜色与我的数据框中的级别无关,因为 YY 框并不总是绿色。有没有办法分配 YY:green、NN:red 和 YN:amber?