我猜想你已经阅读了一些介绍材料,教你使用attach
。试着放下这个习惯。如果你想使用lattice的话,这是一个坏习惯。(对于编写代码来说,这也是一个普遍的坏习惯。)假设你有一个数据框中的这两个变量:dfrm
以长格式存储,那么请尝试以下方法:
library(lattice)
histogram(~ job | sex, data=dfrm, auto.key=TRUE,
col=rainbow(7), main="", xlab = "", ylab="(%)")
< p > "legend"函数与lattice不兼容,因为它是基础图形。你可以尝试使用,但放置的坐标系统非常不同。
我使用"singer"数据集测试了以上变体,但没有成功。在singer数据集中添加一个"Freq"列后,此示例可正常工作:
singer$Freq <- ave(singer$height, singer$voice.part, FUN=length)
barchart(Freq ~ height, groups = voice.part,
data = singer,
stack = TRUE, horizontal=FALSE,
par.settings=list(superpose.polygon=list(col=rainbow(8))),
auto.key=list(x = .6, y = .7, corner = c(0, 0)))