如何解决R相关性分析:一组变量-vs-另一组的ggcorrplot和ggpairs并非全部反对
我想对ggcorplot
和ggpairs
做一个简单的相关分析。但是,我只想将一组连续变量与另一组进行比较,而不是将所有变量进行比较。让我在下面解释我的意思。
在此示例中,我使用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()
产生以下情节:
但是,我不希望所有变量都针对所有变量,我真正想要的是比较变量mpg
,cyl
,disp
,hp
(在x轴)与变量drat
,wt
,qsec
(在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
任何想法如何解决这个问题?不确定ggcorrplot
和ggpairs
是否是最佳选择,但如果可能,我会坚持使用它们,只是因为我比较熟悉,或者至少会产生类似ggplot2
的输出。谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。