【问题标题】:R segmented package "variable lengths differ"R分段包“可变长度不同”
【发布时间】:2015-11-04 04:11:04
【问题描述】:

我无法开始使用 R 中的分段包。

运行下面的基本示例时出现错误:

model.frame.default 中的错误(公式 = y ~ x + U1.x + psi1.x,数据 = 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))

【问题讨论】:

  • 我无法通过您的示例重现该错误。只收到警告essentially perfect fit: summary may be unreliable

标签: r


【解决方案1】:

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

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

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

很奇怪。感谢@Pascal 的意见。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多