P值、Q值和P值調(diào)整(P-adjust)是統(tǒng)計學中用于量化統(tǒng)計顯著性和進行假設(shè)測試校正的三個相關(guān)但不同的概念。了解它們之間的區(qū)別對于正確解釋統(tǒng)計分析結(jié)果非常重要。
P值 (P-value)
定義:P值是在零假設(shè)(即沒有效應或差異的假設(shè))為真的情況下,觀察到當前或更極端結(jié)果的概率。它是用來衡量數(shù)據(jù)與某個特定統(tǒng)計模型預期不符的程度。
用途:P值常用于假設(shè)測試中,幫助研究者決定是否有足夠的證據(jù)拒絕零假設(shè)。
解釋:較小的P值(通常小于0.05)被認為是反對零假設(shè)的證據(jù),表明觀察結(jié)果有統(tǒng)計學上的顯著性。
Q值 (Q-value)
定義:Q值是對P值進行多重比較校正后的假發(fā)現(xiàn)率(FDR)的度量,它代表了被錯誤地標記為顯著的比例的預期值。
用途:Q值用于控制在多重假設(shè)測試中假陽性的比率,特別適用于高通量數(shù)據(jù)分析(如基因組學研究)。
解釋:較小的Q值表明一個發(fā)現(xiàn)被錯誤地標記為顯著的風險較低,因此可以視為對顯著性發(fā)現(xiàn)的一種校正和保障。
P值調(diào)整 (P-adjust)
定義:P值調(diào)整是一種統(tǒng)計校正過程,旨在控制在多重比較情境下錯誤地發(fā)現(xiàn)顯著性的風險。通過應用特定的校正方法(如Bonferroni、Holm、Benjamini-Hochberg等),調(diào)整原始P值。
用途:P值調(diào)整用于解決多重比較問題,減少因多次進行假設(shè)測試而導致的假陽性發(fā)現(xiàn)。
解釋:調(diào)整后的P值提供了在考慮多重比較的情況下保持特定錯誤率水平的顯著性度量。
代碼處理p值轉(zhuǎn)換:
# 讀取數(shù)據(jù),同時指定分隔符為制表符
data<-?read.table("data.out",?header?=?F,?sep?="\t")
#?為數(shù)據(jù)的列指定標題,按照自己的數(shù)據(jù)特征來,我這里的數(shù)據(jù)最后一列是p值
colnames(data) <- c("chr","start","end","name","pval")
# 計算FDR調(diào)整后的P值
data$adjusted_P_value<- p.adjust(data$pval, method ="BH")
# 提取調(diào)整后P值小于0.05的行significant_data <- data[data$adjusted_P_value<0.05, ]
# 查看前幾行的結(jié)果,確保一切按預期進行
head(significant_data)
#?將P小于0.05的結(jié)果寫回到一個新文件
write.table(significant_data,"adjusted_P_values.out", sep ="\t", row.names = FALSE,quote = FALSE)
在統(tǒng)計學中,處理多重比較問題時使用的P值校正方法主要有Bonferroni、Holm-Bonferroni、和Benjamini-Hochberg等(使用Benjamini-Hochberg (BH) 方法校正得到的P值通??梢员灰暈閝-value)。這些方法各有特點,適用于不同的研究情境。
進行p-adjust的不同方法,替換method 里的內(nèi)容就行,如下所示:
# 使用Bonferroni方法校正P值
p_adjusted_bonferroni <- p.adjust(p_values, method ="bonferroni")print(p_adjusted_bonferroni)
# 使用Holm方法校正P值
p_adjusted_holm <- p.adjust(p_values, method ="holm")print(p_adjusted_holm)
# 使用Benjamini-Hochberg方法校正P值
p_adjusted_bh <- p.adjust(p_values, method ="BH")print(p_adjusted_bh)
參考:https://blog.csdn.net/nixiang_888/article/details/121139551