0

我的数据包含关于 40 种药物的剂量反应曲线。通过使用drc包,我可以确认每种药物的EC50值,并且需要提取EC50值大于参考药物的药物。在示例中,只有 4 种药物,因此我可以轻松区分哪些药物具有最佳值。然而,40多种药品,没有分拣是不可能的。

如何提取 summary() 的系数并对其进行处理以轻松区分?我这样做分别适合所有药物的 40 drm() 函数。但我认为有一个更合理的过程。

这是我的示例代码

drug_name <- rep(c("A", "B", "C", "D"), times = 1, each = 8)
drug_conc <- rep(c(1e-06, 1e-07, 1e-08, 1e-09, 1e-10, 1e-11, 1e-12, 1e-13), times = 8, each = 1)
result <- c(103.9290648,
        92.37710525,
        51.00748095,
        9.179793842,
        0,
        1.996017393,
        0,
        6.731109782,
        107.2191305,
        78.10471293,
        40.5521108,
        3.557031123,
        1.731565561,
        7.481358657,
        5.688797044,
        6.313685777,
        77.83258904,
        70.47677041,
        71.95714808,
        55.37764603,
        9.769341654,
        1.261834755,
        1.640337782,
        0.569511534,
        91.81329169,
        108.3473796,
        110.1291696,
        49.28101502,
        12.58068263,
        2.729799426,
        0,
        0.43526533
)

raw <- data.frame(drug_name, drug_conc, result)
raw

library(drc)
start.LL4 <- drm(result ~ drug_conc,
             curveid = drug_name,
             fct = LL.4(names = c(b = "slope", c = "basal", d = "max", e = "EC50")),
             pmodels = data.frame(slope = drug_name, basal = drug_name, max = drug_name, EC50 = drug_name),
             data = raw)

summary(start.LL4)
4

0 回答 0