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

如何在R中获取测试与图表所用的n值(观测数)

获取统计检验与图表中的观测数(n值)

一、Friedman检验场景(配对区组设计)

Friedman检验的核心是独立区组(即你的ID)数量,每个ID在不同Condition下对应一组观测值,获取n值有两种方式:

  • 从检验结果直接提取:
    先把检验结果存到变量里,再通过自由度反推区组数量:
    friedman_res <- friedman.test(data$Behaviour_1_Mean, data$Condition, data$ID)
    # Friedman自由度 = 处理组数量 - 1,区组数量n = 自由度 + 1
    cat("Friedman检验的独立样本数(n):", friedman_res$parameter[["df"]] + 1, "\n")
    
  • 从原始数据统计:
    直接统计唯一ID的数量,或者按Condition分组看每组观测数:
    # 独立样本数(总ID数)
    length(unique(data$ID))
    # 每个Condition组的观测数
    table(data$Condition)
    # 用dplyr更直观的分组计数(需先加载dplyr包)
    library(dplyr)
    data %>% count(Condition)
    

二、Wilcoxon秩和检验场景(非配对独立样本)

非配对Wilcoxon检验需要分别统计两组的样本量,方法如下:

  • 从检验结果提取:
    保存检验结果后,直接读取内置的样本量参数:
    wilcox_res <- wilcox.test(data$Behaviour_2_Mean ~ data$LightsOn_or_Off, paired = FALSE, exact = FALSE)
    # 输出两组样本量
    cat("LightsOn组样本量:", wilcox_res$n[1], "\nLightsOff组样本量:", wilcox_res$n[2], "\n")
    
  • 从原始数据统计:
    直接分组计数确认:
    table(data$LightsOn_or_Off)
    # 用dplyr分组计数
    data %>% count(LightsOn_or_Off)
    

三、图表所用的有效观测数

ggplot会自动忽略含缺失值的行,所以图表实际用的是非缺失值的观测数:

  • 第一个图表(data数据框):
    # 总有效观测数(去掉Behaviour_1_Mean的缺失值)
    sum(!is.na(data$Behaviour_1_Mean))
    # 按Condition分组的有效观测数
    data %>% filter(!is.na(Behaviour_1_Mean)) %>% count(Condition)
    
  • 第二个箱线图(data2数据框):
    # 总有效观测数
    sum(!is.na(data2$Behaviour_2_Mean))
    # 按分组变量的有效观测数
    data2 %>% filter(!is.na(Behaviour_2_Mean)) %>% count(LightsOn_or_Off)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 13:53:15