nls sslogis:使用虚拟变量作为交互项来比较两个S型模型

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

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

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

  • 模型1:当V = V1->渐近线1时,使用S形函数将Y拟合到X
  • 模型2:当V = V2->渐近线2时,使用S形函数将Y拟合到X

asymptote1asymptote2不相等的地方。

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

是否可以使用V作为交互项并获取交互系数?我在模型中引入了V-Dummy,它会产生以下错误:

  

(attr(object,“ initial”))(mCall = mCall,data = data,LHS = LHS)中的错误:     单独的输入值太少而无法满足逻辑模型

如果没有,您对替代方法有何建议?

qqwainier1 回答:nls sslogis:使用虚拟变量作为交互项来比较两个S型模型

使用nlme::gnls

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

默认情况下,这将为Asym返回两个参数:一个为基线水平(默认为{V1),另一个为V1和V2之间的渐近差异。 summary()应包括所有通常的推论信息(标准误差,p值等)

来自?nlme::gnls

  

params:形式为可选的两侧线性公式             ‘p1 + ... + pn〜x1 + ... + xm',或             格式为“ p1〜x1 + ... + xm”,每个模型可能具有不同的模型             参数。 “ p1,...,pn”表示包含在             “模型”和“ x1 + ... + xm”的右侧定义了一个             参数的线性模型(当             公式包含几个参数,它们都是假定的             遵循右手描述的相同线性模型             副词)。右侧的“ 1”             公式表示针对             相应的参数。默认情况下,参数为             从“开始”的名称获得。

本文链接:https://www.f2er.com/3034730.html

大家都在问