由于模型中的非线性和标准误差带,我想绘制包含受限三次样条的回归的预测线。我可以得到预测点,但我不确定只绘制线条和误差带。 ggplot是首选,或者基本图形也可以。感谢。
以下是文档中的示例:
library(rms)
# Fit a complex model and approximate it with a simple one
x1 <- runif(200)
x2 <- runif(200)
x3 <- runif(200)
x4 <- runif(200)
y <- x1 + x2 + rnorm(200)
f <- ols(y ~ rcs(x1,4) + x2 + x3 + x4)
pred <- fitted(f) # or predict(f) or f$linear.predictors
f2 <- ols(pred ~ rcs(x1,4) + x2 + x3 + x4, sigma=1)
fastbw(f2, aics=100000)
options(datadist=NULL)
该模型预测值的图表:
plot(predict(f2))
答案 0 :(得分:3)
rms
包具有许多用于此目的的有用功能。值得一看http://biostat.mc.vanderbilt.edu/wiki/Main/RmS
在这种情况下,您可以简单地设置datadist
(设置预测变量的分布摘要),然后使用plot(Predict(f)
或ggplot(Predict(f))
set.seed(5)
# Fit a complex model and approximate it with a simple one
x1 <- runif(200)
x2 <- runif(200)
x3 <- runif(200)
x4 <- runif(200)
y <- x1 + x2 + rnorm(200)
f <- ols(y ~ rcs(x1,4) + x2 + x3 + x4)
ddist <- datadist(x1,x2,x3,x4)
options(datadist='ddist')
plot(Predict(f))
ggplot(Predict(f))