Looking at the source for nlrob, it looks like it saves the coefficients from the results of running an nls and then passes those coefficients back into the next nls request. The issue that it's running into is that nls returns the coefficients as upper, LOGEC501, LOGEC502, and LOGEC503, rather than just upper and a vector named LOGEC50. Does anyone know a way to restructure the formula/start parameter so that coef returns a vector instead of each element individually? Right now, I've had to 'hack' nlrob so it recombines similarly named elements into a vector, but was wondering if there was a way to accomplish the end goal without those measures.
Thanks, Jared On Wed, Oct 13, 2010 at 3:14 PM, Jared Blashka <evilamaran...@gmail.com>wrote: > As an addendum to my question, I'm attempting to apply the solution to the > robust non-linear regression function nlrob from the robustbase package, and > it doesn't work in that situation. I'm getting > > allRobustFit <- nlrob(Y ~ (upper)/(1+10^(X-LOGEC50[dset])), data=all > ,start=list(upper=max(all$Y),LOGEC50=c(-8.5,-8.5,-8.5))) > Error in nls(formula, data = data, start = start, algorithm = algorithm, > : > parameters without starting value in 'data': LOGEC50 > > I'm guessing this is because the nlrob function doesn't know what to do > with a vector for a start value. Am I correct and is there another method of > using nlrob in the same way? > > Thanks, > Jared > > On Tue, Oct 12, 2010 at 8:58 AM, Jared Blashka <evilamaran...@gmail.com>wrote: > >> Thanks so much! It works great. >> >> I had thought the way to do it relied on combining the data sets, but I >> couldn't figure out how to alter the formula to work with the combination. >> >> Jared >> >> >> On Tue, Oct 12, 2010 at 7:07 AM, Keith Jewell <k.jew...@campden.co.uk>wrote: >> >>> >>> "Jared Blashka" <evilamaran...@gmail.com> wrote in message >>> news:aanlktinffmudugqnkudvr=fmf0wrrtsbjxjexuki_...@mail.gmail.com... >>> > I'm working with 3 different data sets and applying this non-linear >>> > regression formula to each of them. >>> > >>> > nls(Y ~ (upper)/(1+10^(X-LOGEC50)), data=std_no_outliers, >>> > start=list(upper=max(std_no_outliers$Y),LOGEC50=-8.5)) >>> > >>> > Previously, all of the regressions were calculated in Prism, but I'd >>> like >>> > to >>> > be able to automate the calculation process in a script, which is why >>> I'm >>> > trying to move to R. The issue I'm running into is that previously, in >>> > Prism, I was able to calculate a shared value for a constraint so that >>> all >>> > three data sets shared the same value, but have other constraints >>> > calculated >>> > separately. So Prism would figure out what single value for the >>> constraint >>> > in question would work best across all three data sets. For my formula, >>> > each >>> > data set needs it's own LOGEC50 value, but the upper value should be >>> the >>> > same across the 3 sets. Is there a way to do this within R, or with a >>> > package I'm not aware of, or will I need to write my own nls function >>> to >>> > work with multiple data sets, because I've got no idea where to start >>> with >>> > that. >>> > >>> > Thanks, >>> > Jared >>> > >>> > [[alternative HTML version deleted]] >>> > >>> An approach which works for me (code below to illustrate principle, not >>> tried...) >>> >>> 1) combine all three "data sets" into one dataframe with a column (e.g. >>> dset) indicating data set (1, 2 or 3) >>> >>> 2) express your formula with upper as single valued and LOGEC50 as a >>> vector >>> inderxed by dest e.g. >>> Y ~ upper/(1+10^(C-LOGEC50[dset])) >>> >>> 3) in the start list, make LOGEC50 a vector e.g. using -8.5 as start for >>> all >>> three LOGEC50 values >>> start = >>> list(start=list(upper=max(std_no_outliers$Y),LOGEC50=c(-8.5, -8.5, -8.5)) >>> >>> Hope that helps, >>> >>> Keith J >>> >>> ______________________________________________ >>> R-help@r-project.org 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. >>> >> >> > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org 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.