- 日志
- 25
- 好友
- 17
- 阅读权限
- 150
- 收听
- 1
- 在线时间
- 1620 小时
- 最后登录
- 2025-1-18
超级版主
教育辅助界扛把子
- 精华
- 1
- 热心
- 7
- 听众
- 1
- 威望
- 28
- 贡献
- 14972
- 违规
- 0
- 书币
- 50631
- 注册时间
- 2020-4-8
|
使用条件:(1) 已知一个总体均数;(2) 可得到一个样本均数及该样本标准差;(3) 样本来自正态或近似正态总体(这真的很重要!!!)。
事后比较用LSD(最小显著性差异)方法,p值校正用Benjamini-Hochberg(事后比较和p值校正是我在投文章时审稿专家提的建议,血和泪的教训啊)。
下面展示具体的代码:
# 安装和加载必要的包install.packages("agricolae") # 用于LSD事后比较install.packages("fdrtool") # 用于Benjamini-Hochberg校正library(agricolae)library(fdrtool)
# 假设有两组数据group1 <- c(2.3, 2.9, 3.1, 2.8, 3.0)group2 <- c(3.5, 3.6, 3.8, 3.4, 3.7)
# 进行t检验t_test_result <- t.test(group1, group2, var.equal = TRUE) # 假设方差相等print(t_test_result)
# 如果t检验的结果是显著的,进行LSD事后比较if (t_test_result$p.value < 0.05) { # 使用agricolae包中的LSD.test函数进行事后比较 lsd_result <- LSD.test(list(group1=group1, group2=group2), "groups", p = 0.05, group = T) print(lsd_result)}
# 假设我们进行了多个t检验,现在需要对p值进行Benjamini-Hochberg校正# 这里我们只有一次t检验,所以p值列表只有一个元素p_values <- c(t_test_result$p.value)
# 使用fdrtool包进行Benjamini-Hochberg校正fdr_result <- fdrtool(p_values, statistic = "pvalue", method = "BH")adjusted_p_values <- fdr_result$adjp
# 打印校正后的p值print(adjusted_p_values)欢迎各位大佬评论纠正和补充
|
|