R分段包"可变长度不同"

时间:2015-11-04 04:11:04

标签: r

我在使用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))

1 个答案:

答案 0 :(得分:0)

事实证明,我的工作区中有一个名为' x'的对象。删除此对象后,对segmented的调用给出了预期的结果。

每当我有一个名为x的长度为1的对象时,无论该对象是列表还是向量,我都可以复制错误。

如果对象的长度大于1,则错误消失,并且分段的行为与预期的一样。

怪异。感谢@Pascal提供的意见。