[英]R language: how to use ggplot2 to plot multiple vectors on one graph with regression lines?
例如,如果我有以下数据框(DF),如何在一个图中用ggplot2绘制VAR1与年份的关系图以及VAR2与年份的关系图? 并添加回归线?
year VAR1 VAR2
2001 10 12
2002 30 12
2003 20 15
我可以使用qplot(year, VAR, data=DF, geom=c("point", "smooth"), method="lm", se=FALSE)
来获得一张图,但是不确定如何添加另一张图。 我是否需要以某种方式重新排列数据以具有因素,然后使用facets
属性?
要收集VAR1
和VAR2
到同一列第一,它可以用做gather
在功能tidyr包:
library(tidyr)
DF2 <- gather(DF, type, value, VAR1, VAR2)
这将使DF2变得整洁,在图形上您想要的每个点都排成一行(有关整洁数据和收集操作的更多信息,请参见本文 ):
year type value
1 2001 VAR1 10
2 2002 VAR1 30
3 2003 VAR1 20
4 2001 VAR2 12
5 2002 VAR2 12
6 2003 VAR2 15
完成此操作后,可以使用以下两个变量创建图:
ggplot(DF2, aes(year, value, color = type)) +
geom_point() +
geom_smooth(method = "lm")
如果您希望将VAR分为两个子图(构面),则可以执行以下操作:
ggplot(DF2, aes(year, value)) +
geom_point() +
geom_smooth(method = "lm") +
facet_wrap(~ type)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.