LEPREVOST Florian (SNCF / DIR TECHNOLOGIES INNOVATION ET PROJETS GROUPE / IR DIR RECHERCHE -MEV)
2022-Oct-28 12:52 UTC
[R] NLME regression with weights, syntax in r
Hi all, I found this (very) old post which had a similar problem but went without an answer (https://stat.ethz.ch/pipermail/r-help/2004-October/058325.html) I am trying to fit a power curve to model some observations in an nlme. However, I know some observations to be less reliable than others (reliability of each OBSID reflected in the WEIV in the dummy data), relatively independent of variance, and I quantified this beforehand and wish to include it as weights in my model. Moreover, I know a part of my variance is correlated with my independent variable so I cannot use directly the variance as weights. This is my model: 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)) This is some sample dummy data (I know it is not a great fit but it's fake data anyway) : https://github.com/FlorianLeprevost/dummydata/blob/main/testdummy10.csv This runs well without the "weights" argument, but when I add it I get this error and I am not sure why because I believe it is the correct syntax: 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 Thanks in advance! Best Florian ------- Ce message et toutes les pi?ces jointes sont ?tablis ? l'intention exclusive de ses destinataires et sont confidentiels. L'int?grit? de ce message n'?tant pas assur?e sur Internet, la SNCF ne peut ?tre tenue responsable des alt?rations qui pourraient se produire sur son contenu. Toute publication, utilisation, reproduction, ou diffusion, m?me partielle, non autoris?e pr?alablement par la SNCF, est strictement interdite. Si vous n'?tes pas le destinataire de ce message, merci d'en avertir imm?diatement l'exp?diteur et de le d?truire. ------- This message and any attachments are intended solely for the addressees and are confidential. SNCF may not be held responsible for their contents whose accuracy and completeness cannot be guaranteed over the Internet. Unauthorized use, disclosure, distribution, copying, or any part thereof is strictly prohibited. If you are not the intended recipient of this message, please notify the sender immediately and delete it. [[alternative HTML version deleted]]
1. No data, so may be impossible to help. Can you provide a minimal REPREX? 2. But probably better posted on r-sig-mixed-models anyway if you don't get a useful answer here. Cheers, Bert On Sun, Oct 30, 2022 at 3:20 AM LEPREVOST Florian (SNCF / DIR TECHNOLOGIES INNOVATION ET PROJETS GROUPE / IR DIR RECHERCHE -MEV) <f.leprevost at sncf.fr> wrote:> Hi all, > > I found this (very) old post which had a similar problem but went without > an answer (https://stat.ethz.ch/pipermail/r-help/2004-October/058325.html) > > I am trying to fit a power curve to model some observations in an nlme. > However, I know some observations to be less reliable than others > (reliability of each OBSID reflected in the WEIV in the dummy data), > relatively independent of variance, and I quantified this beforehand and > wish to include it as weights in my model. Moreover, I know a part of my > variance is correlated with my independent variable so I cannot use > directly the variance as weights. > > This is my model: > > 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)) > > This is some sample dummy data (I know it is not a great fit but it's fake > data anyway) : > https://github.com/FlorianLeprevost/dummydata/blob/main/testdummy10.csv > > This runs well without the "weights" argument, but when I add it I get > this error and I am not sure why because I believe it is the correct syntax: > > 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 > > Thanks in advance! > > > > Best > > Florian > > ------- > Ce message et toutes les pi?ces jointes sont ?tablis ? l'intention > exclusive de ses destinataires et sont confidentiels. L'int?grit? de ce > message n'?tant pas assur?e sur Internet, la SNCF ne peut ?tre tenue > responsable des alt?rations qui pourraient se produire sur son contenu. > Toute publication, utilisation, reproduction, ou diffusion, m?me partielle, > non autoris?e pr?alablement par la SNCF, est strictement interdite. Si vous > n'?tes pas le destinataire de ce message, merci d'en avertir imm?diatement > l'exp?diteur et de le d?truire. > ------- > This message and any attachments are intended solely for the addressees > and are confidential. SNCF may not be held responsible for their contents > whose accuracy and completeness cannot be guaranteed over the Internet. > Unauthorized use, disclosure, distribution, copying, or any part thereof is > strictly prohibited. If you are not the intended recipient of this message, > please notify the sender immediately and delete it. > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >[[alternative HTML version deleted]]