ggplot2 如何显示具有相同 y 但不同 x 的两条不同的回归线
Posted
技术标签:
【中文标题】ggplot2 如何显示具有相同 y 但不同 x 的两条不同的回归线【英文标题】:How ggplot2 shows two different regression lines with same y but different x 【发布时间】:2014-03-19 03:04:06 【问题描述】:假设我有以下使用基本绘图功能的代码。
绘图(mydata$x1,mydata$y,xlab="x1",ylab="y",type="n")
abline(lm(y~x1,data=mydata))`
abline(lm(y~x2,data=mydata),lty=2)'
这将在一张图中显示两条回归线,一条是 y=p*x1,一条是 y=p*x2(p 是参数)
由于我对相同的 y 使用不同的 x,我如何使用 ggplot2 一起显示两条回归线? 我试图定义两个 geom_smooth。但结果不正确。
geom_smooth(aes(y=y,x=x1))+gemo_smooth(aes(y=y,x=x2))
【问题讨论】:
您能否提供有关您使用的完整 ggplot 命令的更多信息?我认为这没有足够的信息。 您的示例错误拼写“geom_smooth”并且未指定方法 ='lm'。请提供一个可重现的例子。 【参考方案1】: 指定方法='lm' 正确拼写 geom_smooth。以下作品:
set.seed(1)
d <- data.frame(x1=runif(10),x2=runif(10),y=runif(10))
ggplot(d, aes(y=y)) +
geom_point(aes(x=x1)) +
geom_smooth(aes(x=x1),method='lm') +
geom_smooth(aes(x=x2),method='lm')
【讨论】:
以上是关于ggplot2 如何显示具有相同 y 但不同 x 的两条不同的回归线的主要内容,如果未能解决你的问题,请参考以下文章
ValueError:x 和 y 必须具有相同的第一维,但具有形状 (6,) 和 (8,) [重复]