如何用r.c.绘制ols花键

时间:2016-02-11 05:07:00

标签: r plot ggplot2 non-linear-regression

由于模型中的非线性和标准误差带,我想绘制包含受限三次样条的回归的预测线。我可以得到预测点,但我不确定只绘制线条和误差带。 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))

enter image description here

1 个答案:

答案 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))

enter image description here

ggplot(Predict(f))

enter image description here