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

如何自动将example1、example2的均值与标准差设为x、y的MEAN和SD?

解决方法

直接通过R的对象元素提取语法$,将example1、example2中存储的mean_to_hist和sd_to_hist自动传入Fluorescence_Intensity函数即可,同时清理代码中重复定义的冗余函数:

V <- function(C, E, HS, EC_50) {
  response <- E + (1 - E) / (1 + exp(HS * (C - EC_50)))
  list(response = response,
       mean_to_hist = mean(response),
       sd_to_hist = 1)
}

example1 <- V(seq(-12, 0, by = 0.1),0,1,log(1e-3))
example2 <- V(seq(-36, 0, by = 0.1),0,1,log(1e-3))

Fluorescence_Intensity <- function(X, MEAN, SD, METHOD){ 
  if(METHOD=="rnorm"){ 
    res <- rnorm(X, MEAN, SD) 
  } 
  if(METHOD=="dnorm"){ 
    res <- dnorm(X, MEAN, SD) 
  } 
  if(METHOD=="qnorm"){ 
    res <- qnorm(X, MEAN, SD, METHOD, LOWER.TAIL=NULL, LOG.P=NULL) 
  } 
  res
}

set.seed(2022)  # 保证结果可复现
x <- Fluorescence_Intensity(X = 1000, MEAN = example1$mean_to_hist, SD = example1$sd_to_hist, METHOD = "rnorm")
y <- Fluorescence_Intensity(X = 1000, MEAN = example2$mean_to_hist, SD = example2$sd_to_hist, METHOD = "rnorm")

# 可选:验证提取的参数值
cat("x的MEAN值:", example1$mean_to_hist, "\n")
cat("x的SD值:", example1$sd_to_hist, "\n")
cat("y的MEAN值:", example2$mean_to_hist, "\n")
cat("y的SD值:", example2$sd_to_hist, "\n")

关键说明

  • 用example1$mean_to_hist直接提取V函数返回列表中的均值,example1$sd_to_hist提取标准差,完全替代手动输入的固定值
  • 删除了代码中重复定义的Fluorescence_Intensity函数,避免函数被覆盖引发的潜在问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 15:51:52