Search code examples
rggplot2curve-fitting

How can I fit a line binomial data set for an LC50, using GGPlot?


I need to graph a dose-response curve for some bad data. How can I fit a line to this for an LC50?

lc50<- data.table(Concentration = c(0,0.5,1.5,2.5), Mortality= c(0,0,100,100))  

ggplot(lc50,aes(Concentration, Mortality)) +
      stat_summary(fun.data=mean_cl_normal) + 
      scale_x_continuous(name="Concentration (mg/L)", limits=c(0, 2.5)) +
      scale_y_continuous(name="% Mortality", limits=c(0, 100))+ 
      theme(panel.grid.major = element_blank(), panel.grid.minor = 
              element_blank(),panel.background = 
              element_blank(), axis.line = 
              element_line(colour = "black"))

Output:

enter image description here


Solution

  • You can use this code:

    lc50<- data.table(Concentration = c(0,0.5,1.5,2.5), Mortality= c(0,0,100,100))  
             
             ggplot(lc50,aes(Concentration, Mortality)) +
               geom_line() +
               geom_smooth(method = "auto") +
               stat_summary(fun.data=mean_cl_normal) + 
               scale_x_continuous(name="Concentration (mg/L)", limits=c(0, 2.5)) +
               scale_y_continuous(name="% Mortality", limits=c(0, 100))+ 
               theme(panel.grid.major = element_blank(), panel.grid.minor = 
                       element_blank(),panel.background = 
                       element_blank(), axis.line = 
                       element_line(colour = "black"))
    

    Output:

    enter image description here