【问题标题】:nls sslogis: using a dummy variable as an interaction term to compare two sigmoid modelsnls sslogis:使用虚拟变量作为交互项来比较两个 sigmoid 模型
【发布时间】:2020-03-21 00:33:58
【问题描述】:

我在我的代码中使用以下模型:

model <- nls(y ~ SSlogis(x, Asym, xmid, scal), 
   data = data.frame(x, y))

有一个变量 (V) 有两个级别:V1V2

  • 模型 1:当 V=V1 时,使用 sigmoid 函数拟合 Y 到 X --> asymptote1
  • 模型 2:当 V=V2 --> asymptote2 时,使用 sigmoid 函数将 Y 拟合到 X

asymptote1asymptote2 不相等。

我们如何证明渐近线显着不同?

有没有什么办法可以使用V作为交互项,得到交互系数?我在模型中引入了 V-Dummy,它会产生以下错误:

(attr(object, "initial"))(mCall = mCall, data = data, LHS = LHS) 中的错误: 不同的输入值太少,无法适应逻辑模型

如果不是,您有什么替代方法的建议?

【问题讨论】:

    标签: r nls dummy-variable sigmoid asymptote


    【解决方案1】:

    使用nlme::gnls:

    model <- gnls(y ~ SSlogis(x, Asym, xmid, scal), 
                  data = data.frame(x, y),
                  params = list(Asym ~ V))
    

    默认情况下,这将为Asym 返回两个参数:一个用于基线级别(默认为V1),另一个用于V1 和V2 之间的渐近线差异。 summary() 应该包含所有常见的推理信息(std 错误、p 值等)

    来自?nlme::gnls

    params:形式的可选双边线性公式 ‘p1+...+pn~x1+...+xm’,或 形成‘p1~x1+...+xm’,每个模型可能不同 范围。 ‘p1,...,pn’代表包含在 ‘model’和‘x1+...+xm’的右边定义了一个 参数的线性模型(当 该公式包含几个参数,它们都是假设的 遵循右手描述的相同线性模型 侧面表达)。右侧的“1” 公式(S)表示单个固定效应 相应的参数。默认情况下,参数为 从“start”的名称中获得。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-17
      • 1970-01-01
      • 1970-01-01
      • 2021-09-09
      • 2020-06-15
      • 1970-01-01
      • 2017-08-15
      • 2017-12-16
      相关资源
      最近更新 更多