我在代码中使用了以下模型:
model <- nls(y ~ SSlogis(x, Asym, xmid, scal),
data = data.frame(x, y))有一个变量(V)有两个级别:V1和V2
时用乙状结肠函数拟合Y到X
其中asymptote1和asymptote2不相等。
我们怎样才能证明渐近线是显著不同的呢?
有没有办法用V作为相互作用项并求出相互作用系数?我在模型中引入了V-虚拟,它会产生以下错误:
(attr(object,“初始值”)中的
错误(mCall= mCall,data = data,LHS = LHS):输入值太少,不适合逻辑模型
如果没有,你有什么建议作为另一种方法?
发布于 2019-11-25 16:57:17
使用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
参数:形式‘p1+.+pn~x1+.+xm’的可选的双边线性公式,或形式‘p1~x1+.+xm’的双边公式列表,每个参数可能有不同的模型。‘p1,.,pn’表示“模型”右侧包含的参数,“x1+...+xm”定义了参数的线性模型(当公式的左手侧包含多个参数时,假设它们都遵循右手表达式描述的相同的线性模型)。公式右侧的“1”表示对应参数的单个固定效应。默认情况下,参数从‘start’.
的名称中获得。
https://stackoverflow.com/questions/59036555
复制相似问题