使用R的线性回归

Tru*_*eel -1 r

我有以下公式,我试图找到coef1,coef2 ... coef5,所有其他变量都是已知的.

d ~ a + 2 * (coef1 * b1 + coef2 * b2 + coef3 * b3 + coef4 * b4 + coef5 * b5)
Run Code Online (Sandbox Code Playgroud)

我一直在使用非线性最小二乘(nls)这样解决这个问题,没有问题.

nlsfit <- nls(d ~ a + 2 * (coef1 * b1 + coef2 * b2 + coef3 * b3 + coef4 * b4 + coef5 * b5), data=df, start=list(coef1=0, coef2=0, coef3=0, coef4=0, coef5=0))
Run Code Online (Sandbox Code Playgroud)

但是我被告知应该使用线性最小二乘法来解决这个问题.所以我试图使用lm函数和glm

lmfit <- lm(d ~ a + 2 * (coef1 * b1 + coef2 * b2 + coef3 * b3 + coef4 * b4 + coef5 * b5), data=df)


glmfit <- glm(d ~ a + 2 * (coef1 * b1 + coef2 * b2 + coef3 * b3 + coef4 * b4 + coef5 * b5), data=df, family=binomial())
Run Code Online (Sandbox Code Playgroud)

这两个都返回一个错误,我相信因为数据帧没有任何coef*变量

Error in terms.formula(formula, data = data) : invalid model formula in ExtractVars
Run Code Online (Sandbox Code Playgroud)

有人能指出我如何使用线性最小二乘法解决这个问题吗?

Thi*_*rry 5

你要

lm(d / 2 ~ offset(a / 2) + b1 + b2 + b3 + b4 + b5, data=df)
Run Code Online (Sandbox Code Playgroud)