【发布时间】:2022-11-12 10:04:39
【问题描述】:
抱歉,这是来自https://stats.stackexchange.com/questions/593717/nlme-regression-with-weights-syntax-in-r 的交叉发布,但我认为将其发布在此处可能更合适。
我正在尝试拟合功率曲线来模拟nlme 中的一些观察结果。但是,我知道一些观察结果不如其他观察结果可靠(每个OBSID 的可靠性反映在虚拟数据中的WEIV 中),相对独立于方差,我事先对此进行了量化,并希望将其作为权重包含在我的模型。此外,我知道我的一部分方差与我的自变量相关,所以我不能直接使用方差作为权重。
这是我的模型:
coeffs_start = lm(log(DEPV)~log(INDV), filter(testdummy10,DEPV!=0))$coefficients
nlme_fit <- nlme(DEPV ~ a*INDV^b,
data = testdummy10,
fixed=a+b~ 1,
random = a~ 1,
groups = ~ PARTID,
start = c(a=exp(coeffs_start[1]), b=coeffs_start[2]),
verbose = F,
method="REML",
weights=varFixed(~WEIV))
这是一些示例虚拟数据(我知道它不是很合适,但无论如何它都是假数据):https://github.com/FlorianLeprevost/dummydata/blob/main/testdummy10.csv
这在没有“权重”参数的情况下运行良好,但是当我添加它时,我得到了这个错误,我不知道为什么,因为我相信它是正确的语法:
Error in recalc.varFunc(object[[i]], conLin) :
dims [product 52] do not match the length of object [220]
In addition: Warning message:
In conLin$Xy * varWeights(object) :
longer object length is not a multiple of shorter object length
提前致谢!
【问题讨论】:
标签: r mixed-models weighted nlme