2

第一次尝试在 R 中使用“分段”包并有一些(可能是愚蠢的)问题。

我正在R中实现分段回归,我想做的是这样的:

y <- c(621, 552, 581, 549, 563, 633, 531, 348, 323, 285, 282, 303, 192, 281, 466, 969, 1549, 1264, 447, 367)
x1 <- c(727, 689, 702, 646, 677, 798, 832, 377, 366, 351, 316, 333, 291, 526, 466, 1488, 1549, 1431, 696, 687)
x2 <- c(10, 10, 10, 10, 8, 8, 8, 10, 10, 10, 10, 8, 8, 8, 8, 10, 10, 10, 10, 10)
x3 <- rep(c(0,1),10)

df <- data.frame(cbind(y,x1,x2,x3))

fit.lm <- lm(y~x1+x2, data=df)
piecewise <- segmented(fit.lm, seg.Z = ~x3, psi=0.5)

我希望做一个两段分段回归,其中我可以使用变量 x3,一个二进制变量,将模型分成两段——一个段 x3=0,另一个段 x3=1。

考虑到这一点,我因此使用 0.5 作为我的估计断点。但是,我收到这样的错误消息:

 Error: at least one coef is NA: breakpoint(s) at the boundary? (possibly with many x-values replicated)

两个问题:

  1. 鉴于我打算做什么,代码有意义吗?
  2. 错误的可能原因是什么,我该如何解决?

提前致谢!

4

0 回答 0