You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中创建可调整参数的响应值直方图绘制函数?

自定义响应直方图函数(支持参数调整)

以下是封装好的R函数,完全复刻你提供的直方图逻辑,同时支持灵活调整HS、E、EC50等核心参数:

library(ggplot2)

plot_response_histogram <- function(HS = 1, E = 0, log_EC50 = log(1e-3), 
                                   log_c_min = -12, log_c_max = 0, log_c_by = 0.1,
                                   binwidth = 0.03) {
  # 定义响应模型函数
  V <- function(c, E, HS, EC_50) E / (1 + exp(HS * (c - EC_50)))
  
  # 生成浓度对数序列与对应的响应值
  log_c <- seq(log_c_min, log_c_max, by = log_c_by)
  df <- data.frame(log_c = log_c, response = V(log_c, E, HS, log_EC50))
  
  # 绘制直方图
  ggplot(df, aes(x = response)) +
    geom_histogram(binwidth = binwidth, fill = "#2c3e50", color = "white") +
    labs(title = "响应值分布直方图",
         x = "响应值",
         y = "频数") +
    theme_minimal()
}

参数说明

  • HS:希尔斜率,控制响应曲线的陡峭程度,默认值1
  • E:最大响应值,默认值0
  • log_EC50:EC50的对数形式,默认对应log(1e-3)
  • log_c_min/log_c_max/log_c_by:浓度对数序列的起始值、终止值和步长,默认与原代码一致
  • binwidth:直方图组距,默认0.03

使用示例

  1. 默认参数绘制(与原代码效果一致):
plot_response_histogram()
  1. 调整希尔斜率为2:
plot_response_histogram(HS = 2)
  1. 修改最大响应值为1,EC50对数为log(1e-4):
plot_response_histogram(E = 1, log_EC50 = log(1e-4))

内容的提问来源于stack exchange,提问作者Z_R_D_F

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 21:40:57