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

基于鸢尾花数据集,循环计算效应量与样本量的功效报错求助

问题排查与解决

错误原因

pwr.t.test函数中用于指定效应量的参数名称是d(对应Cohen's d值),而非你代码中使用的e,这就是报错提示“unused argument (e = e[j])”的直接原因——该函数不存在名为e的参数。

修正后的代码

# 效应量向量
e <- seq(.2, 1, .1)
el <- length(e)

# 样本量向量
n <- seq(10, 50, 1)
nl <- length(n)

# 创建存储功效值的数组
Irispower <- array(numeric(el*nl), dim=c(el,nl))

# 循环计算不同效应量和样本量下的功效
for (i in 1:nl){ # 遍历样本量
  for (j in 1:el){ # 遍历效应量
    result <- pwr.t.test(n = n[i], d = e[j],
                         sig.level = .05, power = NULL,
                         type = "two.sample", alternative="two.sided")
    Irispower[j,i] <- ceiling(result$power) 
  }
}

额外说明

  • 你当前代码还未用到鸢尾花数据集,如果后续需要基于鸢尾花实际数据计算效应量再做功效分析,可以用effsize包的cohen.d函数先计算真实效应量,再代入循环。
  • ceiling(result$power)会将功效值向上取整(比如0.83会变成1),如果需要保留功效的精确小数,直接去掉ceiling()即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 18:14:56