1

I am pretty new to using R. I am currently trying to use drc in order to run a 4PL curve to analyze ELISA data. I have manually input the standard data and generated the curve, but I am having trouble returning the concentrations of my sample data (DOSEx). When running the ED function, I receive the following error: "Error in parmVec[3] - respl : non-numeric argument to binary operator" This may be a simple question, any help is appreciated.

My code is as follows:

library(drc)
dat<- data.frame(Conc=rep(c(8000,3200,1280,512,204.8,81.92,32.77,0)),
                 OD=c(1.016,0.751,0.502,0.254,0.121,0.049,0.020,0))
curve<-drm(OD~Conc,
                   fct=LL.4(names=c("Slope", "Lower", "Upper", "ED50")),
                   data=dat)
plot(curve)

response<-c(CalData_12_18_20_withSampleIDR['Mean'])
DOSEx<-ED(curve,response,type="absolute",display=F)
wcarson
  • 13
  • 2

1 Answers1

0

Wrapping the c around a data.frame with single column doesn't create a vector. It is a list with a single element i.e.

CalData_12_18_20_withSampleIDR['Mean']

would still be a data.frame with a single column

According to ?ED

respLev - a numeric vector containing the response levels.

We could use extractors $ or [[ or specify the , with [ to return as a vector if the data is originally a data.frame

response<- CalData_12_18_20_withSampleIDR$Mean
ED(curve, response, type = "absolute", display = FALSE)
akrun
  • 874,273
  • 37
  • 540
  • 662