如何修改R代码将均值转换为以fun_max为100%的百分比
改进后的R代码及说明
fun_max <- 13 fun_min <- -1 set.seed(50) x <- rnorm(1000, fun_min, 1) x1 <- rnorm(1000, fun_max, 1) C <- c(0, 0.01, 0.1, 1) fun <- function(C, a, b) { 1/(2 + (C/a)^b) } a <- 1 b <- 1 mlist <- list() for (i in 1:length(C)) { fun_C <- fun_max * fun(C[i], a, b) x3 <- rnorm(1000, fun_C, 1) # 计算均值并转换为以fun_max为基准的比例值 mlist[[i]] <- mean(x3) / fun_max } # 查看最终结果 mlist
关键修改说明
- 移除了原代码中冗余的无意义代码:包括重复赋值的
mlist[i] <- mean(x3)、未使用的直方图对象y3和列表转向量的m_h,简化代码逻辑 - 新增比例转换逻辑:将每个样本的均值除以
fun_max,直接得到以fun_max为100%基准的比例数值,结果符合你需要的0、0.65、0.55这类格式 - 保留了原代码的核心逻辑(生成样本、计算对应均值),仅针对结果格式做调整
内容的提问来源于stack exchange,提问作者user20569801
相关产品推荐
相关产品推荐

