use*_*017 5 plot r linear-regression
我正在使用 R 包segmented
来计算模型的参数,其中响应变量与解释变量线性相关,直到断点,然后响应变量变得独立于解释变量。换句话说,一个分段的线性模型,第二部分的斜率 = 0。我已经做的是:
linear1 <- lm(Y ~ X)
linear2 <- segmented (linear1, seg.Z = ~ X, psi = 2)
Run Code Online (Sandbox Code Playgroud)
这给出了一个具有非常好的第一行的模型,但第二行不是水平的(但不显着)。我想让第二行水平。(psi = 2 是我观察到断点的地方。)
此外,当我使用“abline”在绘图上显示虚线时,它只显示模型的第一部分,并发出警告:“仅使用 4 个回归系数中的前两个”。我怎样才能显示模型的两个部分?
将我的数据输入 R:
X <- c(0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0)
Y <- c(1.31, 1.60, 1.86, 2.16, 2.44, 2.71, 3.00, 3.24, 3.57, 3.81, 3.80, 3.83, 3.78, 3.94, 3.75, 3.89)
Run Code Online (Sandbox Code Playgroud)
这就像使用帮助中分段和链接的包提供的类对象plot
的方法一样简单segmented
segmented
假设您的数据位于data.frame
d
linear2 <- segmented (linear1, seg.Z = ~ X, psi = 2, data = d)
plot(linear2)
points(Y~X, data = d)
Run Code Online (Sandbox Code Playgroud)
伪造水平线的一个简单方法是将系数替换为该线水平所需的值
fudgedmodel <- linear2
fudgedmodel$coefficients[3] <- - fudgedmodel$coefficients[2]
plot(fudgedmodel)
points(Y~X, data = d)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4154 次 |
最近记录: |