修改R语言3参数对数逻辑函数V_C以计算均值并指定浓度
修改后的3参数对数逻辑剂量反应函数(支持均值计算)
核心代码
# 3参数对数逻辑剂量反应函数:接受原始药物浓度,计算对应响应值的均值 V_C <- function(conc, E, HS, EC_50) { # 将原始药物浓度转换为对数形式(匹配原公式的输入要求) c <- log(conc) # 计算每个浓度对应的响应值 responses <- E + (1 - E) / (1 + exp(HS * (c - EC_50))) # 返回所有响应值的均值 mean(responses) } # 定义参数取值 HS <- 1 # Hill斜率 log_EC50 <- log(1e-3) # 对数转换后的EC50(对应原始浓度1e-3) E <- 0 # 响应下限 # 示例调用:传入多个药物浓度,输出响应均值 target_concs <- c(10, 100, 250) response_mean <- V_C(conc = target_concs, E = E, HS = HS, EC_50 = log_EC50) cat("药物浓度", paste(target_concs, collapse = ", "), "对应的V_C函数均值为:", round(response_mean, 4), "\n")
关键改动说明
- 参数适配:将函数输入参数从对数转换后的剂量
c改为原始药物浓度conc,无需手动提前做对数转换,使用更直观。 - 均值计算:自动遍历所有传入的浓度值,计算每个浓度对应的响应后返回均值,支持单个/多个浓度输入。
- 兼容性:保留原公式的核心逻辑,仅新增对数转换和均值计算步骤,参数含义与原代码完全一致。
内容的提问来源于stack exchange,提问作者user20442889
相关产品推荐
相关产品推荐

