Timeline for Is there a way to calculate LC50 from a continuous dependent variable?
Current License: CC BY-SA 4.0
11 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Aug 31 at 14:57 | comment | added | EdM | When I did this with the group-mean values from your plot, I divided all of the fluorescence values by 1000. Sometimes, particularly with nonlinear fitting, you end up with troubles if the absolute values of a variable are very large and you end up pushing numerical precision limits of the computer. Getting values down to a reasonable scale to start is a good idea in general, even if that isn't your problem in this instance. | |
Aug 30 at 9:59 | comment | added | Gabb |
Also, I've tried with the BC.5() from the drc package as suggested and I believe it worked! See code: testmodel.bcml<-drm(fluorescence~Concentration, data=PU, fct=BC.5()) summary(testmodel.bcml) ED(testmodel.bcml, c(10, 25, 50, 90)) Results: Estimated effective doses Estimate Std. Error e:1:10 46.5820 9.9191 e:1:25 66.3899 29.6614 e:1:50 114.9459 116.1251 e:1:90 675.3301 2548.4590 I also tried this with the raw observations instead of group means and it gave a warning about NaNs but it gave only NaNs for the ED estimate standard error.
|
|
Aug 30 at 9:07 | comment | added | Gabb |
Hi. I've just attempted the nls() with the SSfpl() logistic fit and I keep getting this error: testmodel<-nls(fluorescence~SSfpl(Concentration,Asym,xmid,scal), data=PU) Error in SSfpl(Concentration, Asym, xmid, scal) : argument "scal" is missing, with no default So I changed the scal to 200,000 (I didn´t know what number to put as I didn't understand the language of the help guide) and it returned a similar error but this time for xmid Error in SSfpl(Concentration, Asym, xmid, scal = 5e+05) : argument "xmid" is missing, with no default
|
|
Aug 29 at 2:54 | comment | added | EdM |
I just tried using nls() (on values from your plot )with the 4-parameter logistic fit SSfpl() instead of SSlogis() to allow for a non-zero asymptote at high concentrations. That seemed to work fine. The drc package has a similar LL.4() function to use with its drm() fitting function. The syntax in drc is a bit awkward, but worth learning if you will be doing this a lot. The drc package also has functions that will fit hormesis, for example BC.5() that allows for both hormesis and a non-zero asymptote. Both of those functions in drc also work on the data in your plot.
|
|
Aug 29 at 2:24 | comment | added | EdM |
As I suspected, even at the highest concentration you have a highly positive fluorescence value. The SSlogis() function, however, assumes that there is a 0 asymptotic value at high concentrations. Thus it won't fit your data properly. In a comment on my answer, @BenBolker noted a SSfpl() function that can work with a non-0 limiting value. The increase in fluorescence between a concentration of 0 and the lowest non-0 concentration might be hormesis, which would require the more complex models provided by the drc package I linked in my answer.
|
|
Aug 28 at 18:56 | history | edited | Gabb | CC BY-SA 4.0 |
tried a suggestion from a comment but can't interpret results
|
Aug 6 at 21:59 | answer | added | EdM | timeline score: 3 | |
Aug 6 at 20:12 | history | migrated | from stackoverflow.com (revisions) | ||
Aug 6 at 13:35 | comment | added | Ben Bolker |
if you do something like nls(response ~ SSlogis(dose, Asym, xmid, scal), data = ...) the xmid parameter should be your LC50 value.
|
|
Aug 6 at 13:00 | comment | added | MrFlick | These are statistical questions, not programming questions. It would be better to ask at Cross Validated instead; that's where statistical questions are on topic. | |
Aug 6 at 11:17 | history | asked | Gabb | CC BY-SA 4.0 |