R“分段包装”;可变长度不同“;

R“分段包装”;可变长度不同“;,r,R,我在开始使用R中的分段包时遇到问题 当运行下面的基本示例时,我得到错误: model.frame.default中存在错误(公式=y~x+U1.x+psi1.x,数据=mfExt,: 可变长度不同(针对“x”找到) 我希望segmented返回一个包含2个分段的分段线性模型。我在通话中显然犯了一个错误,但无法从错误消息和文档中找出我的错误。如果您能提供帮助,我们将不胜感激 require(segmented) test.df = data.frame(x = c(1:100),

我在开始使用R中的分段包时遇到问题

当运行下面的基本示例时,我得到错误:

model.frame.default中存在错误(公式=y~x+U1.x+psi1.x,数据=mfExt,: 可变长度不同(针对“x”找到)

我希望segmented返回一个包含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))

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

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

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


奇怪。谢谢@Pascal的输入。

我无法用你的例子重现错误。只能得到一个警告
基本上完美匹配:摘要可能不可靠