我在使用R中的分段包时遇到了问题。
运行下面的基本示例时,我收到错误:
model.frame.default中的错误(公式= y~x + U1.x + psi1.x,data = mfExt,: 变量长度不同(找到' x')
我期待分段返回带有2个段的分段线性模型。我在通话中明显犯了错误,但我无法解决错误信息和文档中的错误。帮助将不胜感激。
require(segmented)
test.df = data.frame(x = c(1:100),
y = c(c(1:50),seq(from = 52, by = 2, length = 50)))
test.mod = lm(y ~ x,
test.df)
segmented(test.mod,
seg.Z = ~ x,
psi = list(x = 40))
答案 0 :(得分:0)
事实证明,我的工作区中有一个名为' x'的对象。删除此对象后,对segmented的调用给出了预期的结果。
每当我有一个名为x的长度为1的对象时,无论该对象是列表还是向量,我都可以复制错误。
如果对象的长度大于1,则错误消失,并且分段的行为与预期的一样。
怪异。感谢@Pascal提供的意见。