問題描述
如何從 p 值矩陣中獲得緊湊的字母顯示? (How to get a compact letter display from a matrix of p‑values?)
考慮這個數據,我們有幾個組,每個組有 10 個觀察值,我們執行 pairwise.t.test()
:
set.seed(123)
data <‑ data.frame(group = rep(letters[1:18], each = 10),
var = rnorm(180, mean = 2, sd = 5))
ttres <‑ pairwise.t.test(x=data$var, g=data$group, p.adjust.method = "none")#just to make sure i get some sigs for the example
您可以返回一個矩陣此測試的 p 值如下所示:
pmat <‑ as.matrix(ttres$p.value)
有了這樣的相關矩陣形狀的結果,我們如何從結果中獲得緊湊的字母顯示?我的意思是我希望以字母的形式獲得輸出,顯示哪些組不同,哪些組不同。我的意思是我希望生成 multcomp
包中的 cld
函數用於 tukeys 測試:https://www.rdocumentation。
參考解法
方法 1:
You can use the functions fullPTable()
and multcompLetters()
, found in the library(rcompanion)
and library(multcompView)
.
Here is how I would solve your problem:
library(rcompanion)
library(multcompView)
set.seed(123)
data <‑ data.frame(group = rep(letters[1:18], each = 10),
var = rnorm(180, mean = 2, sd = 5))
PT <‑ pairwise.t.test(x=data$var, g=data$group, p.adjust.method = "none")#just to make sure i get some sigs for the example
PT = PT$p.value
PT1 = fullPTable(PT)
multcompLetters(PT1,
compare="<",
threshold=0.05,
Letters=letters,
reversed = FALSE)