1. 程式人生 > 實用技巧 >R常用統計 - 相關關係分析

R常用統計 - 相關關係分析

資料格式

每行分別為表型和基因表達情況對應標量,每列分別為樣品名的矩陣。假定前9列為phenotype,從第10行起為gene_id,編寫簡單for迴圈如下:

script

require("lessR")
library(lessR)
data = read.table("c:/Users/****/Desktop/yourfile.txt",
                  header = T,row.names = 1,na.strings = T,sep = "\t") #input your file
results = NULL
for (i in 1:9) {#
   for (j in 10:nrow(data)){
    if (median(as.numeric(data[j,]))>=1e-5) {
    x = data[i,]
    y = data[j,]
    tem_res = Correlation(x,
                          y, 
                          meth = "spearman",
                          adjt = "fdr",
                          heat_map = F)
  term_result = data.frame(row.names(data)[i],row.names(data)[j],tem_res$r,tem_res$pvalue)
  results = rbind(results,term_result)  
     }
  }
}
colnames(results) = c("phenotype","gene_id","r_value","p_value")
write.csv(results,"correlation_results.csv",row.names = F)