R相关性分析:一组变量-vs-另一组的ggcorrplot和ggpairs并非全部反对

问题描述

我想对ggcorplotggpairs一个简单的相关分析。但是,我只想将一组连续变量与另一组进行比较,而不是将所有变量进行比较。让我在下面解释我的意思。

在此示例中,我使用mtcars数据。我执行以下操作:

data(mtcars)
mtcars
summary(mtcars)
mtcars$vs <- as.character(mtcars$vs)

Grdevices::pdf(file="test1.pdf",height=6,width=6)
print(
ggcorrplot::ggcorrplot(round(cor(mtcars[,1:7]),1),p.mat = ggcorrplot::cor_pmat(mtcars[,hc.order=TRUE,type='lower',method = "circle")
)
Grdevices::dev.off()

Grdevices::pdf(file="test2.pdf",height=10,width=10)
print(
Ggally::ggpairs(mtcars,columns=1:7,ggplot2::aes(colour=vs),legend = 1,lower = list(continuous = Ggally::wrap("smooth",alpha = 0.5,size=2)),upper = list(continuous = Ggally::wrap("cor",size=3.5))) +
  ggplot2::theme_light() + ggplot2::theme(legend.position = "bottom")
)
Grdevices::dev.off()

产生以下情节:

test1

test2

但是,我不希望所有变量都针对所有变量,我真正想要的是比较变量mpgcyldisphp(在x轴)与变量dratwtqsec(在y轴上)。

理想情况下,我们不会裁剪图,而只是进行适当的计算以节省时间。实际上,想象一下我的起始数据被分成2个输入数据帧,它们具有不同的连续变量(但是行名称和类别变量相同,在这种情况下使用vs),所以更像这样:

mydata1 <- mtcars[,c(8,1:4)]
mydata2 <- mtcars[,5:7)]

> head(mydata1)
                  vs  mpg cyl disp  hp
Mazda RX4          0 21.0   6  160 110
Mazda RX4 Wag      0 21.0   6  160 110
Datsun 710         1 22.8   4  108  93
Hornet 4 Drive     1 21.4   6  258 110
Hornet Sportabout  0 18.7   8  360 175
Valiant            1 18.1   6  225 105
> head(mydata2)
                  vs drat    wt  qsec
Mazda RX4          0 3.90 2.620 16.46
Mazda RX4 Wag      0 3.90 2.875 17.02
Datsun 710         1 3.85 2.320 18.61
Hornet 4 Drive     1 3.08 3.215 19.44
Hornet Sportabout  0 3.15 3.440 17.02
Valiant            1 2.76 3.460 20.22

任何想法如何解决这个问题?不确定ggcorrplotggpairs是否是最佳选择,但如果可能,我会坚持使用它们,只是因为我比较熟悉,或者至少会产生类似ggplot2输出。谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)