使用stat_smooth绘制y~1 / x

时间:2015-01-17 23:14:32

标签: r plot ggplot2 smoothing

晚上好,

我目前正试图在图表中绘制形式为y~1 / x的倒数模型。我想绘制原始数据,预测的Y值和拟合模型(包括置信区间)。尽管使用倒数1 / x绘制拟合模型,但一切工作正常。我可以完成日志转换等,但互惠转换对我不起作用。我试过了

stat_smooth(method="lm", formula= y ~ 1/x)
stat_smooth(method="lm", formula= y ~ poly(x,-1) 
stat_smooth(method="lm", formula= y ~ (x^-1)

不起作用..有什么我遗失的吗?我在下面列举了一个例子。任何帮助表示赞赏!

library(ggplot2)
library(car)
df <- Leinhardt

df1 <- na.omit(df)
df1 <- df1[order(infant),]

df1["reincome"] <- 1/(df1$income)

model3 <- lm(infant~reincome, df1)

df1["yhat"]<- predict(model3)

ggplot(df1, aes(x=income, y=infant))+
  geom_point()+geom_point(aes(y=df1$yhat), color="red")+
  stat_smooth(method="lm",formula=  y ~ 1/x) 

1 个答案:

答案 0 :(得分:1)

使用I表示1/x应该按原样处理'(?AsIs寻求帮助):

ggplot(df1, aes(x=income, y=infant))+
  geom_point()+geom_point(aes(y=df1$yhat), color="red")+
  stat_smooth(method="lm",formula=  y ~ I(1/x))