Home > database >  corrplot:corrplot function in R panelled plots
corrplot:corrplot function in R panelled plots

Time:07-14

I would like to create a figure containing different correlation plots created by corrplot(). To do so, once I created the plots, I assigned them to a variable and line them up with ggpubr:ggarrange(), but the single variables created have content NULL and when gear range (correctly) creates the figure, the content is empty.

library(corrplot)
library(psych)
library(ggpubr)

data(iris)

res_pearson.c_setosa<-iris%>%
  filter(Species=="setosa")%>%
  select(Sepal.Length:Petal.Width)%>%
  corr.test(., y = NULL, use = "complete",method="pearson",adjust="bonferroni", alpha=.05,ci=TRUE,minlength=5)

corr.a<-corrplot(res_pearson.c_setosa$r[,1:3],
         type="lower", 
         order="original", 
         p.mat = res_pearson.c_setosa$p[,1:3], 
         sig.level = 0.05, 
         insig = "blank", 
         col=col4(10), 
         tl.pos = "ld",
         tl.cex = .8, 
         tl.srt=45, 
         tl.col = "black",
         cl.cex = .8) 
  my.theme


res_pearson.c_virginica<-iris%>%
  filter(Species=="virginica")%>%
  select(Sepal.Length:Petal.Width)%>%
  corr.test(., y = NULL, use = "complete",method="pearson",adjust="bonferroni", alpha=.05,ci=TRUE,minlength=5)

corr.b<-corrplot(res_pearson.c_virginica$r[,1:3],
         type="lower", 
         order="original", 
         p.mat = res_pearson.c_virginica$p[,1:3], 
         sig.level = 0.05, 
         insig = "blank", 
         col=col4(10), 
         tl.pos = "ld",
         tl.cex = .8, 
         tl.srt=45, 
         tl.col = "black",
         cl.cex = .8) 
  my.theme

ggarrange(corr.a, corr.b,
          common.legend = TRUE,
          legend = "bottom",
          ncol = 9, nrow = 1)

After several searches online it seems that it is the first time someone tries to create a figure with multiple correlation plots.

CodePudding user response:

You can use this code par(mfrow=c(1,2)) to plot your graphs side by side like this:

library(corrplot)
library(psych)
library(ggpubr)
library(dplyr)

data(iris)

res_pearson.c_setosa<-iris%>%
  filter(Species=="setosa")%>%
  select(Sepal.Length:Petal.Width)%>%
  corr.test(., y = NULL, use = "complete",method="pearson",adjust="bonferroni", alpha=.05,ci=TRUE,minlength=5)

par(mfrow=c(1,2))

corr.a<-corrplot(res_pearson.c_setosa$r[,1:3],
                 type="lower", 
                 order="original", 
                 p.mat = res_pearson.c_setosa$p[,1:3], 
                 sig.level = 0.05, 
                 insig = "blank", 
                 #col=col4(10), 
                 tl.pos = "ld",
                 tl.cex = .8, 
                 tl.srt=45, 
                 tl.col = "black",
                 cl.cex = .8)


res_pearson.c_virginica<-iris%>%
  filter(Species=="virginica")%>%
  select(Sepal.Length:Petal.Width)%>%
  corr.test(., y = NULL, use = "complete",method="pearson",adjust="bonferroni", alpha=.05,ci=TRUE,minlength=5)

corr.b<-corrplot(res_pearson.c_virginica$r[,1:3],
                 type="lower", 
                 order="original", 
                 p.mat = res_pearson.c_virginica$p[,1:3], 
                 sig.level = 0.05, 
                 insig = "blank", 
                 #col=col4(10), 
                 tl.pos = "ld",
                 tl.cex = .8, 
                 tl.srt=45, 
                 tl.col = "black",
                 cl.cex = .8)

Created on 2022-07-13 by the reprex package (v2.0.1)

  • Related