一、t 检验与 wilcox 检验
连续型变量独立性检验,如果数据分布满足正态分布可以使用t检验,否则使用wilcox检验。
基因表达差异:基因表达量高低。
代码语言:javascript复制dta <- read.csv("heatmap.csv",header = T,row.names = 1)
# 单个基因t检验
head(dta,1)
dta[1,1:5]
dta[1,6:10]
t.test(dta[1,1:5],dta[1,6:10])
y <- t.test(dta[1,1:5],dta[1,6:10])
class(y)
str(y)
for (i in 1:30) {
y <- t.test(dta[i,1:5],dta[i,6:10])$p.value
print(y)
}
apply(dta, 1, function(x){t.test(x[1:5],x[6:10])$p.value})
apply(dta, 1, function(x){t.test(x[1:5],x[11:15],paired = T)$p.value})
apply(dta, 1, function(x){wilcox.test(x[1:5],x[11:15],paired = T)$p.value})
#计算Qvalue,多重假设检验
p.adjust.methods
p <- apply(dta, 1, function(x){t.test(x[1:5],x[11:15])$p.value})
p.adjust(p)
p.adjust(p,'holm')
p.adjust(p,'fdr')
library(pheatmap)
pheatmap(dta)
p
二、利用 t 检验验证实验结果
代码语言:javascript复制#探索数据nrow(),ncol(),rownames(),colnames()
head(ToothGrowth)
str(ToothGrowth)
colnames(ToothGrowth)
boxplot(len~supp:dose,data = ToothGrowth,col = c('orange','yellow'))
x <- ToothGrowth
nrow(x)
ncol(x)
#统计频数
table(x$supp)
table(x$dose)
table(x$supp,x$dose)
#分组t检验
t.test(x[(x$supp=="VC" & x$dose==0.5),]$len,x[(x$supp=="OJ" & x$dose==0.5),]$len,paired = F)
t.test(x[(x$supp=="VC" & x$dose==1),]$len,x[(x$supp=="OJ" & x$dose==1),]$len,paired = F)
t.test(x[(x$supp=="VC" & x$dose==2),]$len,x[(x$supp=="OJ" & x$dose==2),]$len,paired = F)
写在最后:有时间我们会努力更新的。大家互动交流可以前去论坛,地址在下面,复制去浏览器即可访问,弥补下公众号没有留言功能的缺憾。原地址暂未启用(bioinfoer.com)。
代码语言:javascript复制sx.voiceclouds.cn
有些板块也可以预设为大家日常趣事的分享等,欢迎大家来提建议。