R中“段”函数中的psi和segZ函数到底是什么

数据挖掘 r 统计数据
2022-03-04 12:43:23

我在 R 中使用“segment”包将分段线性段拟合到 R 中的示例抛物线曲线。我无法解释 R 文档中的函数“psi”和“segZ”。我有两个变量 X 和 Y 。如果我们将 X 视为因变量,将 Y 视为自变量,那么,

reg<- lm(Y~X, 数据 = 曲线数据)

我正在根据下面给出的示例数据创建抛物线 -

x<- c(-37, -36, -35, -34, -33, -32, -30, -28, -26, -25, -24, -23, -22, -21, -20, -19、-18、-17、-16、-15、-14、-12、-10、-8、-7、-5、-4、-2、-1、0、1、2、4、 5, 7, 8, 10, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 30, 32, 33, 34, 35, 36, 37)

y=4x^2

那就是我在R中的上述方程的帮助下构造抛物线。

所以在这种情况下,y 是独立的,x 是因变量。

我想有一个适合这个抛物线的分段线性。

我尝试过使用两种不同的 R 代码,即

seg_model<-segmented(reg, seg.Z = ~curved_data$X, psi = c(-35, 4, 30), control = seg.control(display = TRUE))

-35、4、30 是我选择的 3 个断点。他们选对了吗?他们应该如何选择?

我得到错误

分段错误(reg, seg.Z = ~curved_data$X, psi = c(-35, 4, 30), : psi' should be a list with more than one covariate inseg.Z'

这个错误是什么意思?

我也尝试通过编写psi = NA来使用代码

我有以下错误

分段错误(reg,seg.Z = ~curved_data$X,psi = NA,control = seg.control(display = TRUE)): psi' should be a list with more than one covariate inseg.Z'

我无法从 R 文档中理解psisegZ 。请问我可以详细说明这两个功能的功能吗?psisegZ之间有什么关系我应该怎么做才能纠正这个错误?psi向量中的点数是否意味着断点数或它是什么?

1个回答

curved_data您必须在运行命令之前附加数据框。然后,像这样运行您的命令:

seg_model <- segmented(reg, seg.Z = ~X, psi = c(-35, 4, 30),
                       control = seg.control(display = TRUE))