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

基于R的散点图数据统计分析:实现单因素ANOVA及指定节点均值±SD计算

实现步骤及代码

你可以通过「连续变量分箱→分组统计描述→ANOVA检验」三步完成需求,以下代码基于你现有的df数据框编写,可直接运行:

步骤1:数据预处理(将percent_power离散化为四个节点组)

首先将连续的percent_power按你指定的四个节点切割为分组,注意如果需要保留100%的观测,要删掉你原绘图代码里的filter(percent_power < 100)过滤条件:

library(tidyverse)
df_processed <- df %>%
  # 若需要排除100%数据则保留下面这行,否则注释
  # filter(percent_power < 100) %>%
  mutate(
    # 按数值区间分箱,对应四个目标节点
    power_node = cut(percent_power,
                      breaks = c(0, 25, 50, 75, 100),
                      labels = c("25%", "50%", "75%", "100%"),
                      include.lowest = TRUE)
  )

步骤2:计算各节点relVO2的均值±标准差

# 整体计算各节点的统计量
stat_result <- df_processed %>%
  group_by(power_node) %>%
  summarise(
    mean_relVO2 = mean(relVO2, na.rm = T),
    sd_relVO2 = sd(relVO2, na.rm = T),
    `均值±标准差` = paste0(round(mean_relVO2, 2), "±", round(sd_relVO2, 2))
  )
# 打印结果
print(stat_result)
# 如果需要按你绘图中的group分组分别统计,把上面的group_by改成 group_by(power_node, group) 即可

步骤3:单因素ANOVA检验获取p值

单因素ANOVA检验四个节点的relVO2均值是否存在显著差异,结果中Pr(>F)即为你需要的p值:

# 拟合ANOVA模型
anova_fit <- aov(relVO2 ~ power_node, data = df_processed)
# 查看检验结果
summary(anova_fit)

补充说明

  • 如果ANOVA检验p值小于0.05,需要做事后多重比较可以直接运行TukeyHSD(anova_fit)获取组间差异结果
  • 如果需要同时控制你原数据中的group变量的影响,可以把模型替换为双因素ANOVA:aov(relVO2 ~ power_node + group, data = df_processed)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 04:36:08