问题描述
我对使用 R 还很陌生。我目前正在尝试使用 drc 来运行 4PL 曲线来分析 ELISA 数据。我已经手动输入了标准数据并生成了曲线,但是我在返回我的样本数据 (DOSEx) 的浓度时遇到了问题。运行 ED 函数时,我收到以下错误:“parmVec[3] 中的错误 - respl:二元运算符的非数字参数”这可能是一个简单的问题,感谢任何帮助。
我的代码如下:
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)
解决方法
用单列将 c
包裹在 data.frame
周围不会创建 vector
。它是一个带有单个元素的 list
,即
CalData_12_18_20_withSampleIDR['Mean']
仍然是带有单列的 data.frame
根据?ED
respLev - 包含响应水平的数字向量。
如果数据最初是 $
,我们可以使用提取器 [[
或 ,
或指定带有 [
的 vector
返回为 data.frame
}}
response<- CalData_12_18_20_withSampleIDR$Mean
ED(curve,response,type = "absolute",display = FALSE)