我正在尝试使用来自B和C的数据创建散点图,但是我想为A中的每个类别创建差异散点图。
A B C
Monday 2 4
Tuesday 4 2
Monday 3 5
Wednesday 3 10
Friday 7 9
这是我目前的代码,就是用我的数据制作一个普通的散点图。是否有一些可以用来根据类别自动制作散点图的附加内容?
attach(data)
plot(C, B, main="scatterplots",xlab="C", ylab="B", pch=10)
abline(lm(C~B), col="red")
答案 0 :(得分:3)
这可能是一个解决方案:
par(mfrow=c(1, length(levels(A))))
for (day in levels(A)){
subs <- subset(data, A==day)
plot(subs$C, subs$B, main=day)
abline(lm(C~B), col="red")
}
请注意,您必须调整xlim
和ylim
值,以防您想在每个图中看到适合的红线。这有帮助吗?
答案 1 :(得分:3)
显示以另一个变量为条件的绘图是格子包的设计目的。在您的情况下,它可能很简单:
library(lattice)
xyplot(B~C|A, data=data, type=c('p','r'))
ggplot2包也使用faceting来实现:
library(ggplot2)
qplot( C, B, data=data, facets= A ~ .) + geom_smooth(method='lm')