rcorrelationpsych

corrplot:corrplot function in R panelled plots


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.


Solution

  • 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)