如何将转换后的回归绘制回原始比例?
How to plot transformed regression back on original scale?
我想绘制线性模型的线,其中响应已对数转换回数据的原始比例。所以结果应该是原始尺度上的一条曲线,而在对数变换尺度上它将是一条直线。见代码
# 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?
我知道我以前做过,但我一辈子都记不起是怎么做的:(。谢谢!
# back transformed
plot(dat$X, dat$Y)
predicted <- predict(mod, type="r")
lines(dat$X, exp(predicted), col = "blue")
如果ggplot没问题:
library(ggplot2)
ggplot(dat, aes(X,Y)) + geom_smooth() + geom_point()
我想绘制线性模型的线,其中响应已对数转换回数据的原始比例。所以结果应该是原始尺度上的一条曲线,而在对数变换尺度上它将是一条直线。见代码
# 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?
我知道我以前做过,但我一辈子都记不起是怎么做的:(。谢谢!
# back transformed
plot(dat$X, dat$Y)
predicted <- predict(mod, type="r")
lines(dat$X, exp(predicted), col = "blue")
如果ggplot没问题:
library(ggplot2)
ggplot(dat, aes(X,Y)) + geom_smooth() + geom_point()