【问题标题】:How to plot transformed regression back on original scale?如何将转换后的回归绘制回原始比例?
【发布时间】:2017-09-24 17:09:48
【问题描述】:

我想从一个线性模型中绘制一条线,其中响应已被对数转换回数据的原始比例。所以结果应该是原始尺度上的曲线,而对数转换尺度上的结果应该是直线。见代码

# Data
 dat <- data.frame(c(1,2,3,4,5,6,7,8,9), c(5, 2.5, 1.25, .75, .375, .1625, 
 .08, .04, .02)
colnames(dat) <- c("X", "Y")                  
plot(dat$X, log(dat$Y))

# Model
mod <- lm(log(dat$Y)~dat$X)
summary(mod)

 # transformed
 plot(dat$X, log(dat$Y), pch = 16)
 abline(mod)

# back transformed
plot(dat$X, dat$Y)
# What do I do here to plot the curved regression line?

我知道我以前做过这件事,但我一生都记不起来是怎么做的:(。谢谢!

【问题讨论】:

  • 是的。我想在数据的原始尺度上绘制回归(mod)的最佳拟合线

标签: r regression transformation


【解决方案1】:
# back transformed
plot(dat$X, dat$Y)
predicted <- predict(mod, type="r")    
lines(dat$X, exp(predicted), col = "blue")

【讨论】:

  • @user3071617 完成请见上文
【解决方案2】:

如果ggplot没问题:

library(ggplot2)
ggplot(dat, aes(X,Y)) + geom_smooth() + geom_point() 

【讨论】:

    猜你喜欢
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    • 2015-01-05
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 2019-08-03
    • 2016-05-12
    相关资源
    最近更新 更多