首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R语言:如何使用ggplot2在一个有回归线的图上绘制多个向量?

R语言:如何使用ggplot2在一个有回归线的图上绘制多个向量?
EN

Stack Overflow用户
提问于 2015-06-08 02:42:29
回答 1查看 1.5K关注 0票数 2

例如,如果我有以下数据框架(DF),那么如何在一个图中使用ggplot2来绘制VAR1对年份和VAR2与年份的关系图?再加上回归线?

代码语言:javascript
复制
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属性?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-08 02:56:04

您希望首先将VAR1VAR2收集到同一个列中,这可以使用提尔包中的gather函数来完成:

代码语言:javascript
复制
library(tidyr)
DF2 <- gather(DF, type, value, VAR1, VAR2)

这将使DF2变得整洁,在图中每一点都有一行(有关整洁数据和收集操作的更多信息,请参见本论文 ):

代码语言:javascript
复制
  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

完成此操作后,可以使用以下两个变量创建绘图:

代码语言:javascript
复制
ggplot(DF2, aes(year, value, color = type)) +
    geom_point() +
    geom_smooth(method = "lm")

如果您希望将VAR划分为两个子图(方面),则可以这样做:

代码语言:javascript
复制
ggplot(DF2, aes(year, value)) +
    geom_point() +
    geom_smooth(method = "lm") +
    facet_wrap(~ type)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30700594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档