用 stat_smooth 绘制 y~1/x

Plotting y~1/x with stat_smooth

晚上好,

我目前正在尝试在图表中绘制 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) 

使用 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))