R:从一个数据帧创建多个分类散点图

时间:2013-09-10 15:42:49

标签: r

我正在尝试使用来自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")

2 个答案:

答案 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")  
}

请注意,您必须调整xlimylim值,以防您想在每个图中看到适合的红线。这有帮助吗?

答案 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')