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.输出结果:

相关推荐
勿在浮沙筑高台12 小时前
海龟交易系统R
前端·人工智能·r语言
zhangfeng113317 小时前
R和python 哪个更适合生物信息分析,或者更擅长做什么工作
开发语言·python·r语言·生物信息
兮兮能吃能睡18 小时前
R语言~T检验
开发语言·r语言
预测模型的开发与应用研究18 小时前
从入门到实操:贝叶斯分析完整技术步骤与核心R包指南
开发语言·人工智能·r语言
图灵信徒1 天前
R语言数据结构与数据处理基础内容
开发语言·数据挖掘·数据分析·r语言
污斑兔2 天前
技术随笔:Node.js ESM 中巧用 `-r dotenv/config` 解决环境变量异步加载问题
开发语言·r语言·node.js
兮兮能吃能睡3 天前
R语言众数函数分析
开发语言·r语言
追风少年ii3 天前
脚本更新--CosMx、Xenium的邻域通讯分析(R版本)
linux·python·r语言·r·单细胞·培训
Q一件事4 天前
R语言随机森林分析显示R方和P值
开发语言·随机森林·r语言
生物小卡拉4 天前
指定列交集内容合并-Rscript_v1.0
笔记·学习·r语言