Hi, I was very much hoping someone could help me with the following. I am trying to convert some SAS NLMIXED code to NLME in R (v.2.1), but I get an error message. Does anyone have any suggestions? I think my error is with the random effect "u" which seems to be parametrized differently in the SAS code. In case it's helpful, what I am essentially trying to do is estimate parameters using ML in a measurement error setting with some validation data (indicated by vs.flag). Any help would be greatly appreciated.I apologize for the clumsiness of the R code. Many thanks in advance.
Sincerely, Loki ################################################################# SAS Code: proc nlmixed data=repdat parms b0 -3 b1 -.135 a0 3 a1 4 sigsq 0.25; if vs.flag = 1 then do; eta1 = b0 + b1*lnbldT; llbin = anybc.cens.ind*eta1 - log(1+exp(eta1)); eta2 = a0 + a1*lnndsTs; llnorm = -1/(2*sigsq)*(lnbldT - eta2)**2 - .5*log(sigsq); ll = llbin + llnorm; end; else do; eta2 = a0 + a1*lnndsTs; eta1 = b0 + b1*eta2 + u; llbin = anybc.cens.ind*eta1 - log(1+exp(eta1)); ll = llbin; end; sigma2 = sigmasq*b1**2 /*variance of random effect; model anybc.cens.indic ~ general(ll); random u ~ normal(0,sigma2) subject = CaseID; */; run; #################################################################### R Code with error message: me.km.nlme <- nlme(model = anybc.cens.indic ~ vs.flag*((anybc.cens.indic*(b0+b1*lnbldT) - log(1 + exp(b0+b1*lnbldT))) + (((-1/(2*sigsq))*(lnbldT -a0 -a1*lnndsTs)^2) - 0.5*log(sigsq))) + (1-vs.flag)*((anybc.cens.indic*(b0+b1*(a0 + a1*lnndsTs + u))) - log(1 + exp(b0+b1*(a0 + a1*lnndsTs + u)))), fixed = list(a0~1,a1~1,b0~1,b1~1,sigsq~1),na.action=na.omit, data=rc.df, method="ML", random=u~1|CaseID, start = c(a0=0, a1=1, b0=-3, b1 = -0.135, sigsq = 0.25)) + Error: Singularity in backsolve at level 0, block 1 In addition: There were 16 warnings (use warnings() to see them) > > > > warnings() Warning messages: 1: Singular precision matrix in level -1, block 5 2: Singular precision matrix in level -1, block 5 3: Singular precision matrix in level -1, block 5 4: NA/Inf replaced by maximum positive value 5: Singular precision matrix in level -1, block 5 6: Singular precision matrix in level -1, block 5 7: Singular precision matrix in level -1, block 5 8: NA/Inf replaced by maximum positive value 9: NaNs produced in: log(x) 10: NaNs produced in: log(x) 11: NaNs produced in: log(x) 12: NaNs produced in: log(x) 13: NaNs produced in: log(x) 14: NaNs produced in: log(x) 15: NaNs produced in: log(x) 16: NaNs produced in: log(x) > ##################################################################### Loki Natarajan Associate Professor of Biostatistics Moores UCSD Cancer Center 3855 Health Sciences Drive #0901 La Jolla, CA 92093-0901 phone: 858 822 4763 Fax: 858 822 6897 ______________________________________________ R-help@stat.math.ethz.ch mailing list 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.