R语言批量计算t检验,输出pvalue和均值

1.输入数据如下:

2.代码如下

r 复制代码
setwd("E:/R/Rscripts/rG4相关绘图")
# 读取CSV文件
data <- read.csv("box-cds-ABD-不同类型rg4-2.csv", stringsAsFactors = FALSE)


# 筛选出Type2列为指定五种类型的数据
filtered_data <- subset(data, Type2 %in% c("G2L1-2", "G2L1-4", "G3", "G3B", "G3V"))

# 分别提取五种类型对应的Score
scores_list <- list(
  G2L1_2 = filtered_data$Score[filtered_data$Type2 == "G2L1-2"],
  G2L1_4 = filtered_data$Score[filtered_data$Type2 == "G2L1-4"],
  G3 = filtered_data$Score[filtered_data$Type2 == "G3"],
  G3B = filtered_data$Score[filtered_data$Type2 == "G3B"],
  G3V = filtered_data$Score[filtered_data$Type2 == "G3V"]
)

# 初始化一个空的数据框,用于存储结果
results <- data.frame(
  Group1 = character(),
  Group2 = character(),
  Mean1 = numeric(),
  Mean2 = numeric(),
  TStatistic = numeric(),
  PValue = numeric(),
  stringsAsFactors = FALSE
)

# 对所有可能的组合进行两两比较
for (i in 1:(length(scores_list)-1)) {
  for (j in (i+1):length(scores_list)) {
    group1 <- names(scores_list)[i]
    group2 <- names(scores_list)[j]
    scores1 <- scores_list[[i]]
    scores2 <- scores_list[[j]]
    
    # 执行t检验
    test_result <- t.test(scores1, scores2)
    
    # 将结果添加到结果数据框
    results <- rbind(results, data.frame(
      Group1 = group1,
      Group2 = group2,
      Mean1 = mean(scores1),
      Mean2 = mean(scores2),
      TStatistic = test_result$statistic,
      PValue = test_result$p.value
    ))
  }
}
# 输出结果
print(results)

3.输出结果:

相关推荐
diegoXie19 小时前
Seurat V5 结构树和基础整合pipeline
r语言·单细胞·seuratv5
Tiger Z3 天前
《R for Data Science (2e)》免费中文翻译 (第15章) --- Regular expression(2)
数据分析·r语言·数据科学·免费书籍
天桥下的卖艺者3 天前
R语言演示对没有吸收状态的马尔科夫链分析
开发语言·r语言
Biomamba生信基地3 天前
用R语言画生信基地圣诞树~
开发语言·r语言·单细胞·空间转录组·biomamba生信基地
diegoXie3 天前
【R】新手向:renv 攻克笔记
开发语言·笔记·r语言
Tiger Z4 天前
R 语言科研绘图 --- 其他绘图-汇总4
r语言·论文·科研·研究生·配色
小艳加油6 天前
R语言生态环境数据分析:从基础操作到水文、地形、物种多度、空间聚类、排序与生物多样性的系统应用
数据分析·r语言·生态环境
Davina_yu8 天前
R语言报错:无法打开文件‘sales_2025.txt‘: No such file or directory
开发语言·r语言
小小8程序员8 天前
R 语言 4.5.0 全解析:性能优化、新特性与使用指南下载安装步骤
r语言
墨&白.9 天前
如何卸载/更新Mac上的R版本
开发语言·macos·r语言