1

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

在此处输入图像描述

4

1 回答 1

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

在此处输入图像描述

于 2016-02-11T05:41:37.720 回答