I am trying to calculate LD50 (lethal doses concentration that kills 50% of the organisms) for bees at different exposure concentrations (0, 3, 30 and 300ng) of a pesticide. I measure supervivency every 4 hours.
Data:
Control<-c(100, 100, 100, 96, 96, 96, 96, 72, 60, 60, 60, 60, 60, 52, 48, 48, 40, 40)
"300ng" <- c(100.00, 100.00, 100.00, 96.30, 96.30, 92.59, 92.59,70.37, 62.96, 44.44, 40.74, 37.04, 29.63, 25.93, 25.93,22.22, 11.11, 11.11)
"30ng" <- c(100.00, 96.30, 96.30, 96.30, 96.30, 96.30, 96.30, 85.19, 81.48, 77.78, 74.07, 74.07, 74.07, 70.37, 70.37, 70.37, 70.37, 62.96)
"3ng" <- c(100.00, 100.00, 100.00, 100.00, 100.00, 96.30, 85.19, 74.07, 70.37, 66.67, 66.67, 66.67, 66.67, 59.26, 59.26, 59.26, 59.26, 55.56)
HoursExp <- c(0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68)
Viewing data
plot(`300ng`~HoursExp, type="l", col=1)
points(`30ng`~HoursExp, type="l", col=2)
points(`3ng`~HoursExp, type="l", col=3)
points(Control~HoursExp, type="l", col=4)
I`d like to try with Trimmed Spearman-Karber Method tsk function
install.packages("tsk", repos="http://R-Forge.R-project.org")
require(tsk)
require(drc)
The problem is that I cant understand how to use that function in order to obtain the LD50 at 24 and 48 hours of exposition with confidence intervals. Other method is also good for me, but I can`t find any for my purposes.
The {drc} package has the functionality you are looking for. However your dataset is too limited to be able to calculate any confidence interval on the model parameters. Essentially you need your curve to plateau at the bottom so the model can converge on a confidence interval for the fit. The method below will work if you have a more complete dataset in the future though.
Since you included a
controlvalue at each time point that seems to change substantially, I calculated arelative_survivalby normalizing to this value to help standardize the top of the curves. Also, I constrained some of the fit parameters based on basic understanding of what the LD50 should be, the curve should start around1, eventually reach0and the slope should be negative.I started with a quick visualization of the whole dataset to help set expectations about what kind of modeling should be possible with this data.
Note for some reason in the {drc} package the sign of the Hill slope is reversed. So for decreasing curves the value is reported as positive.
Created on 2022-10-21 by the reprex package (v2.0.1)