编辑代码

# 安装并加载必要的包
install.packages("GEOquery")
library(GEOquery)
install.packages("limma")
library(limma)

# 下载GEO数据集
# GSE108153
gse108153 <- getGEO("GSE108153", GSEMatrix = TRUE)
exprs108153 <- exprs(gse108153[[1]])

# GSE126093
gse126093 <- getGEO("GSE126093", GSEMatrix = TRUE)
exprs126093 <- exprs(gse126093[[1]])

# GSE146587
gse146587 <- getGEO("GSE146587", GSEMatrix = TRUE)
exprs146587 <- exprs(gse146587[[1]])

# GSE110224
gse110224 <- getGEO("GSE110224", GSEMatrix = TRUE)
exprs110224 <- exprs(gse110224[[1]])

# 分析差异表达
# 比较正常组织与CRC组织的miRNA表达
miR_99a_pval <- eBayes(limma::lmFit(exprs108153, design = ~0 + factor(gse108153$characteristics_ch1.0_sample_source_name)), trend = TRUE)$p.value
miR_100_pval <- eBayes(limma::lmFit(exprs126093, design = ~0 + factor(gse126093$characteristics_ch1.0_sample_source_name)), trend = TRUE)$p.value

# 比较正常组织与CRC组织的HS3ST2表达
HS3ST2_pval <- eBayes(limma::lmFit(exprs110224, design = ~0 + factor(gse110224$characteristics_ch1.0_sample_source_name)), trend = TRUE)$p.value

# 设置显著性水平
alpha <- 0.001

# 打印结果
cat("hsa-miR-99a的差异表达P值:", miR_99a_pval, "\n")
cat("hsa-miR-100的差异表达P值:", miR_100_pval, "\n")
cat("HS3ST2的差异表达P值:", HS3ST2_pval, "\n")

# 根据显著性水平检查差异表达
if (miR_99a_pval < alpha && miR_100_pval < alpha) {
  cat("hsa-miR-99a和hsa-miR-100在CRC组织中表达下调\n")
} else {
  cat("hsa-miR-99a和hsa-miR-100在CRC组织中没有显著差异\n")
}

if (HS3ST2_pval < alpha) {
  cat("HS3ST2在CRC组织中表达上调\n")
} else {
  cat("HS3ST2在CRC组织中没有显著差异\n")
}