如何创建兼具响应计算、均值统计且支持传入sd参数的R函数
解决方案:整合响应值计算、均值统计与预设SD的R函数
你可以创建一个整合型函数,把原有响应值计算、均值统计逻辑打包,同时支持传入预设的sd参数。以下是实现代码:
# 整合后的新函数 calculate_response_stats <- function(c, E, HS, EC_50, sd_to_hist = 1) { # 原有响应值计算逻辑 response <- E + (1 - E) / (1 + exp(HS * (c - EC_50))) # 自动计算响应值均值 mean_response <- mean(response) # 返回包含所有结果的列表 list( response = response, mean_to_hist = mean_response, sd_to_hist = sd_to_hist ) } # 调用示例(使用你原代码中的参数) HS <- 1 log_EC50 <- log(1e-3) E <- 0 log_c <- seq(-12, 0, by = 0.1) # 调用新函数,可自定义sd参数,不传入则默认1 result <- calculate_response_stats(log_c, E, HS, log_EC50, sd_to_hist = 1) # 查看结果 result$response # 原始响应值向量 result$mean_to_hist # 响应值均值 result$sd_to_hist # 传入的预设SD值
说明:
- 新函数
calculate_response_stats包含了原有V函数的全部计算逻辑,若需要保留原V函数,也可以在新函数内部调用V(c, E, HS, EC_50)替代直接写公式 sd_to_hist参数设置了默认值1,和你原代码的默认情况一致,调用时可根据需求传入自定义数值- 返回的列表结构清晰,方便提取需要的结果
内容的提问来源于stack exchange,提问作者user20397439
相关产品推荐
相关产品推荐

