0
Rパッケージcorrplot
からのプロットを操作したいと思います。パッケージから次の例では:corrplotによる操作
library(corrplot)
data(mtcars)
M <- cor(mtcars)
cor.mtest <- function(mat, conf.level = 0.95){
mat <- as.matrix(mat)
n <- ncol(mat)
p.mat <- lowCI.mat <- uppCI.mat <- matrix(NA, n, n)
diag(p.mat) <- 0
diag(lowCI.mat) <- diag(uppCI.mat) <- 1
for(i in 1:(n-1)){
for(j in (i+1):n){
tmp <- cor.test(mat[,i], mat[,j], conf.level = conf.level)
p.mat[i,j] <- p.mat[j,i] <- tmp$p.value
lowCI.mat[i,j] <- lowCI.mat[j,i] <- tmp$conf.int[1]
uppCI.mat[i,j] <- uppCI.mat[j,i] <- tmp$conf.int[2]
}
}
return(list(p.mat, lowCI.mat, uppCI.mat))
}
res1 <- cor.mtest(mtcars,0.95)
我々はX
記号でそれらの統計的に意味のない細胞を用いて行列をプロットすることができます。また
corrplot(M, p.mat = res1[[1]], sig.level=0.05)
、信頼区間は
で示すことができcorrplot(M, low=res1[[2]], upp=res1[[3]], order="hclust",
rect.col="navy", plotC="rect",cl.pos="n")
上記の2つのプロットを以下の操作と組み合わせたいと思います。
1)統計的に有意な(些細ではない)細胞の色を濃い青などの色で塗りつぶすことは可能ですか?
2)上三角部分を使って信頼区間を表示しながら、行列の下三角部分をプロットするにはどうすればよいですか?あなたの第二の質問について
おかげで、あなたの提案が第二の問題に適しています!第1の質問については、現在、デフォルトの背景はすべての四角形セルで白です(各四角形の塗りつぶされていない部分が白であることがわかります)。だから、私は、統計的に有意な細胞については、円の外側(各四角形内)を黄色に変えたいと思っています。これはできますか? – bluepole
上部に背景色を追加する方法(信頼区間)?私は 'corrplot(M、low = res1 [2]、upp = res1 [3]、order =" hclust "、rect.col =" navy "、plotC =" rect "、cl.pos = (bg = t(bg_colors)、add = T) 'と表示されますが、上三角部分の色付きの位置は正しく表示されません。 – bluepole
問題は、 'type =" lower "'または 'type =" upper "'を使用したときに、フル行列のプロットデータと次元が異なることです。カラーマトリックス/ベクトルも調整する必要があります。私はそれに応じて答えを編集しました。 – ani