2017-11-25 14 views
0

次のコードのグループを区別する方法を探して:R - corrplot - 視覚的に列

enter image description here

強調表示するためにコードを更新することが可能です:

Dat = read.table(text="varA1 varA2 varA3 varB1 varB2 varC1 varC2 varC3 
      .01 .01 .35 .05 .06 .01 .01 .25 
      .02 .21 .31 .34 .06 .04 .01 .35 
      .01 .03 .35 .05 .03 .05 .31 .33 
      .45 .01 .32 .08 .26 .11 .04 .35 
      .01 .01 .35 .05 .03 .01 .33 .25", 
      header=TRUE) 

library(corrplot) 
corrplot(as.matrix(Dat), is.corr=FALSE, tl.srt=45) 

はこのプロットを作成します。私が変数の3つのグループを持っているという事実、すなわち、

  • varA1、varA2、varA3
  • varB1、varB2
  • varC1、varC2、varC3

私はここでやったようなので、どちらか、(残念ながらカスタム長方形を許可していませんcorrplot内のオプションhclustと同様に、)3つのすべての周りの長方形を置きます使用した塗料:3つの異なる色、または私は視覚的に変数の三つのグループを区別することができ、他の方法でヘッダを印刷することにより

enter image description here

それとも?すべてのヒントは大歓迎です、多くのありがとう!

答えて

1

segmentsを使用すると、境界線を描画できます。

segments(c(0.5,3.5,5.5,8.5), rep(0.5,4), 
    c(0.5,3.5,5.5,8.5), rep(5.5,4), lwd=3) 
segments(c(0.5, 0.5), c(0.5, 5.5), c(8.5, 8.5), c(0.5,5.5), lwd=3) 

Corrplot with borders

ORアウトラインと異なる色

ColorScheme = c("#FFEEEE", "#EEFFEE", "#EEEEFF") 
Groups = c(rep(1,15), rep(2,10), rep(3, 15)) 
corrplot(as.matrix(Dat), is.corr=FALSE, tl.srt=45, bg=ColorScheme[Groups]) 

segments(c(0.5,3.5,5.5,8.5), rep(0.5,4), 
    c(0.5,3.5,5.5,8.5), rep(5.5,4), lwd=3) 
segments(c(0.5, 0.5), c(0.5, 5.5), c(8.5, 8.5), c(0.5,5.5), lwd=3) 

Colored corrplot

+0

グレートと背景を埋めることができ、ありがとうございました!どのようにセグメント値を選択しましたか? – Abdel

+1

0.5から始まり、各ボックスに1を加えます。これを見つける1つの方法は、コーナーがどこにあるかを見るために 'locator()'を使うことです。 – G5W