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

R语言绘制统计功效与重复量关系图及筛选显著p值计算系数均值

R模拟统计功效相关操作实现方案

1. 计算显著模型的系数均值

你可以通过逻辑索引匹配同一次模拟的p值和对应系数,直接在现有代码末尾添加以下代码即可实现需求:

# 筛选p<0.05的模拟对应的系数,计算均值
sig_coef_mean <- mean(coef[p < 0.05], na.rm = TRUE)
print(sig_coef_mean)

逻辑说明:你的代码中p和coef两个向量的索引是一一对应的,第i位的p值就是第i次模拟的检验结果,和第i位的系数完全匹配。用p < 0.05生成的布尔序列作为索引,即可精准筛选出所有显著次对应的系数再求均值,添加na.rm = TRUE参数是为了避免模拟过程中出现异常值导致计算报错。

2. 扩展:绘制统计功效与重复样本量的关系图

你可以将单次固定n的模拟逻辑封装为函数,遍历不同重复样本量计算对应功效后绘图,示例实现代码如下:

library(car)
library(ggplot2)

# 定义单组重复量对应的功效计算函数
calc_power <- function(n, nsims = 1000) {
  p <- vector(length = nsims)
  for (i in 1:nsims) {
    treat <- rnorm(n, mean = 460, sd = 110)
    cont <- rnorm(n, mean = 415, sd = 110)
    df <- data.frame(
      y = c(treat, cont),
      x = rep(c("treat", "cont"), each = n)
    )
    model <- glm(y ~ x, data = df)
    p[i] = Anova(model)$P
  }
  return(sum(p < 0.05) / nsims)
}

# 设置要测试的重复样本量序列,可根据需求调整范围和步长
n_seq <- seq(3, 30, 2)
# 批量计算每个重复量对应的统计功效
power_res <- sapply(n_seq, calc_power)

# 绘制关系图
plot_df <- data.frame(n = n_seq, power = power_res)
ggplot(plot_df, aes(x = n, y = power)) +
  geom_line(color = "steelblue", linewidth = 1) +
  geom_point(size = 2) +
  labs(x = "重复样本量", y = "统计功效") +
  theme_bw()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 01:06:03