R语言:有关差异分析的检验方法
2021-03-04 本文已影响0人
胡童远
导读:
计算两组数据均值,检查分布正态性和方差齐性选择检验的方法。
1 读取,计算均值,箱图观察
##
data = read.table("data.txt", header=T, sep="\t", row.names=1)
##
Y=input[input$Diabetes=="Y",]$rate
N=input[input$Diabetes=="N",]$rate
##
mean(Y)
mean(N)
##
input = data[,c(1, 6)]
ggplot(input, aes(x=Diabetes, y=rate)) +
geom_boxplot(aes(color=Diabetes)) +
theme(panel.grid=element_blank(),
panel.background=element_rect(fill='transparent',
color='black')) +
theme(legend.title=element_blank())
2 查看数据分布
2.1 hist直方图
hist(Y)
hist(N)
# 观察形状若为倒钟形那便是接近正态分布的
2.2 qqnorm散点图
qqnorm(Y)
qqnorm(N)
# 观察形状是一条连接主对角线的线那便是接近正态分布
3 Shapiro-Wilk正态性检验
shapiro.test(Y)
shapiro.test(N)
# p>0.05,正态分布
4 方差齐性检验
意义:方差分析就是在大家误差水平差不多的条件下看控制和对照组是不是有显著差异。那方差其实就是误差水平了。当方差不一致的时候,这个方法就没法分辨出究竟是控制造成的差异还是,内在的波动造成的差异。
参考:https://www.zhihu.com/question/21195390
参考:https://blog.csdn.net/tiaaaaa/article/details/58130363
4.1 F检验
使用条件:数据正态分布,只可以检验两个样本
var.test(input$rate~input$Diabetes)
var.test(input$rate~input$Diabetes)$p.value
# 提取P值
# [1] 5.844495e-12
4.2 bartlett检验
使用条件:正态分布的数据,多个样本
bartlett.test(input$rate~input$Diabetes)
4.3 levene检验
没有条件:数据可不具正态性,可以检验多个总体的方差齐性
SPSS的默认方差齐性检验方法
library(car)
leveneTest(input$rate~input$Diabetes)
5 差异检验
5.1 参数检验:T检验
使用条件:两样本来自正太分布总体,方差齐
t.test(Y, N)
5.2 非参数检验:Wilcoxon秩和检验(两样本)
wilcox.test(Y, N)
参数:
参考:https://www.jianshu.com/p/f30d1fe877ea
# exact 逻辑,是否精确计算P值:当样本量较小时,此参数起作用,当样本两较大时,软件采用正态分布近似计算P值
# correct 逻辑,是否对P值的计算采用连续性修正,默认值为TRUE
# alternative = c("two.sided", "less", "greater"),"two.sided"默认
# conf.int 逻辑,说明是否给出相应的置信区间
# paired 逻辑,是否为配对样本,FLASE默认
5.3 非参数检验:Kruskal-Wallis(KS)秩和检验(多样本)
5.4 Deseq两组reads count差异分析